基于异步加载的地图信息展示方法与流程

文档序号:12279177阅读:326来源:国知局
基于异步加载的地图信息展示方法与流程

本发明互联网信息处理领域,特别涉及基于异步加载的地图信息展示方法。



背景技术:

移动智能设备的兴起为人们的生活和工作提供了诸多便利,其中智能手机在移动智能终端中的普及程度最高,使用最广泛。针对智能手机的各类应用也在不断的更新和发展;现有的智能手机,内存有限,加载应用程序过多,在进行使用时画面卡顿经常发生,尤其是在有较多的图片同时显示时,由于图片所占据的内存很大,一般采用从后台读取的方式,在前端展示的方式来进行;如果图片从后台读取,一般需要进行经过二进制流的转换,读取速度会影响画面显示和绘制的效果,这些因素导致了同步显示大量文字和图片时页面刷新效果差,操作不流畅的现象,严重影响用户的使用体验。

在各类应用中通过基于地理信息系统的服务具有非常广泛的应用,例如提供用户位置服务,目标的地理信息查询,目标地域、地理商业价值的分析和挖掘等;很多手机APP提供在地图工具上基于地理位置来展示相关的数据信息服务,但是随着需要展示的数据量越来越大,如何在不影响用户操作体验的前提下快速展示大量数据成为了一个重要的问题。目前手机APP在实现将大量数据展示在地图工具上时,采用将目标以一个小点显示在地图上,通过点击小点来获取此点对应的相关数据,以此来减少图像的渲染,保证界面的流畅。但此种显示方法需要用户点击目标才显示详细信息,增加了用户的操作步骤,展示方式不够直观,而且仅在无需一次性直观的展示数据的详细信息的前提下才具有较好的显示效果。当需要一次性在地图工具上基于地理位置展示大量的信息而且包括图片信息时,现有的技术方案就无法适用。



技术实现要素:

本发明的目的在于克服现有技术中所存在的上述不足,提供基于异步加载的地图信息展示方法。在用户进入到默认的第一个选项卡界面时,就通过线程异步预加载地图界面的一些信息,在保证用户操作流畅的前提下,加快了用户切换到地图信息选项卡界面后数据加载的速度。

为了实现上述发明目的,本发明提供了以下技术方案:

基于异步加载的地图信息展示方法,用户进入目标地图信息显示页面时,首先显示出默认地图页面,通过线程读取目标的地理坐标信息、文字信息和图片信息;并在已显示的基础地图页面上根据目标的坐标位置绘制出目标位置以及目标对应的文字和图片信息。

具体的,进行地图信息展示之前,所述目标的文字的名称和地址信息经过爬虫技术从互联网中获取。

进一步的,所述目标信息的地理坐标信息包括经度信息和纬度信息,所述经度信息和纬度信息根据目标的地址调用现有的地图平台接口来获取。为了提高经纬度信息获取的准确性,通过从至少两家地图平台获取到的经纬度数据来进行相互验证和补全。

进一步的,将所述目标的名称、经纬度信息、图片数据存储于分布式文件系统中使用ElasticSearch来建立包含目标名称的索引格式;将并将对应信息导入到索引中。

在上述过程的基础上,本发明方法的目标地图信息显示包含以下实现步骤:

(ST1)用户输入查询目标;

(ST2)进入目标的地图信息展示页面;

(ST2-A)显示默认地图页面;

(ST2-B)通过线程建立与后台的通讯连接,根据索引查询并读取存储于文件系统中的目标名称、经度数据、纬度数据和图片数据;调用地图接口根据目标的经纬度信息在地图上绘制出目标的位置,并在对应位置显示出目标名称和对应图片数据。

与现有技术相比,本发明的有益效果:本发明提供基于异步加载的地图信息展示方法,用户进入目标地图信息显示页面时,首先显示出默认地图信息,再通过线程读取目标的地理坐标信息、文字信息和图片信息;并在已显示的基础地图页面上根据目标的坐标位置绘制出目标位置以及目标对应的文字和图片信息。当需展示的信息包括图片信息时,如果一次性在地图上所有信息将占用大量的手机内存,造成画面卡顿,影响页面刷新和画面渲染的效率;本发明方法采用异步加载的方式,减少了内存的占用,提高了页面刷新和图片渲染的效率,避免画面卡顿,保证了操作的流畅性,当用户进入到地图展示页面时先显示基本的地图信息然后可以看到地图上显示的目标的位置名称和对应的图片信息,画面逐步展示,用户操作感受更加流畅;显示效果较同步加载方式显著提高。

附图说明:

图1为目标地图信息展示示意图。

图2为多个目标地图信息同时显示的界面示意图。

图3为本基于异步加载的地图信息展示方法的实现步骤示意图。

应该理解本发明的所有附图均为示意性的,不代表真实的尺寸和比例。

具体实施方式

下面结合试验例及具体实施方式对本发明作进一步的详细描述。但不应将此理解为本发明上述主题的范围仅限于以下的实施例,凡基于本发明内容所实现的技术均属于本发明的范围。

本发明提供基于异步加载的地图信息展示方法。在用户进入到默认的第一个选项卡界面时,就通过线程异步预加载地图界面的一些信息,在保证用户操作流畅的前提下,加快了用户切换到地图信息选项卡界面后数据加载的速度。

为了实现上述发明目的,本发明提供了以下技术方案:

基于异步加载的地图信息展示方法,用户进入目标地图信息显示页面时,首先显示出默认地图信息,再通过线程读取目标的地理坐标信息、文字信息和图片信息;并在已显示的基础地图页面上根据目标的坐标位置绘制出目标位置以及目标对应的文字和图片信息如图2所示。由于不是将所有文字图片一次性在地图进行显示,就减少了内存的占用,避免了画面的卡顿现象,从用户感受的角度来说首先看到的是基本的地图信息,紧接着将看到目标信息在地图上的显示,画面显示比较流畅,提高了用户体验。这样的异步加载方式减少对手机内存的使用,保证界面刷新、渲染的效率,使用户操作更加流畅。本发明方法特别适用于在地图页面上一次性展示出大目标的文字和图片信息的情形。具体的,进行地图信息展示之前,所述目标的文字的名称、地址信息和图片信息经过爬虫技术从互联网中获取。目标的选择根据具体的应用来设定(比如某一领域的垂直搜索),根据需要设置字段从互联网中来获取对应的信息,为相关数据的分析和重整提供基础。

进一步的,所述目标信息的地理坐标信息根据目标的地址调用现有的地图平台接口来获取。为了提高经纬度信息获取的准确性,通过从至少两家地图平台获取到的经纬度数据来进行相互验证和补全。

进一步的,所述数据相互验证和补全,包含以下实现过程:

(1)调用第一地图平台接口,获得企业第一经度数据和第一纬度数据;

(2)调用第二地图平台接口,获得企业第二经度数据和第二纬度数据;

(3)所述数据相互验证和补全,适用以下规则条件:

a、如果从第一地图平台获取的经纬度数据完整,而从第二地图平台获取到的经纬度数据有缺失,则选择第一经度数据和第一纬度数据作为企业的地理经纬度信息;

b、选择从平台获取到的数据信息中,根据可信度来排序,选择可信较高的对应经纬度信息为企业的经纬度数据;

c、比较第一经度数据和第二经度数据,得到差值数据1,比较第一纬度数据和第二纬度数据,得到差值数据2,如果差值数据1和差值数据2均在设置的阈值内,则可选择将第一经度数据、第一纬度数据或者第二经度数据、第二纬度数据作为企业的地理经纬度数据。上述规则条件按顺序适用。

进一步的,将所述目标的名称、经纬度信息数据存储于数据库中,图片数据存储于分布式文件系统中;使用ElasticSearch来建立包含目标名称的索引格式;将并将对应信息导入到索引中。ElasticSearch是一个基于Lucene的搜索服务器,提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口,方便用户通过web接口来搜索和读取数据。

在上述过程的基础上,本发明方法的目标地图信息显示包含以下实现步骤:

(ST1)用户输入查询目标;

(ST2)进入目标的地图信息展示页面;

(ST2-A)显示默认地图页面;

(ST2-B)通过线程建立与后台的通讯连接,根据索引查询并读取存储于文件系统中的目标名称、经度数据、纬度数据和图片数据;调用地图接口根据目标的经纬度信息在地图上绘制出目标的位置,并在对应位置显示出目标名称和对应图片数据。

实施例1

从网络上根据字段设置爬取到目标名称和对应的地址信息以及图片信息,例如名称为成都ABCD科技有限公司,地址为:成都市天府大道中段xx号,根据地址信息调用第一地图平台接口获取到目标地址对应的地理经纬度信息为:{″status″:0,″result″:{″location″:{″lng″:105.07392899855,″1at″:36.555138880016},″precise″:1,″confidence″:80,″level″:″\u5546\u52al\u5927\u53a6″}}从返回信息可以获取到可信度为:80,经度为105.07392899855,纬度为36.555138880016。

调用第二地图平台接口获取到目标地址对应的地理经纬度信息为:{″status″:″1″,″info″:″OK″,″infocode″:″1000″,″count″:″1″,″geocodes″:[{″formatted_address″:″四川省成都市武侯区某某广场B座″,″province″:″四川省,″citycode″:″028″,″city″:″成都市″,″district″:″武侯区″,″township″:[],″neighborhood″:{″name″:[],″type″:[]},″building″:{″name″:[],″type″:[]},″adcode″:″510107″,″street″:″天府大道中段″,″number″:″xx号″,″location″:″104.067139,30.548830″,″level″:″门牌号″}]}。从上述返回信息可以获取到:可信度为门牌号,经度为105.067139,纬度为36.548830。

上述两个平台获取到的数据均完整,则适用规则b,根据两个平台的获取数据的可信度来进行排序,比如说将第二地图平台的″level″:″门牌号″,对应的转化为“可信度:99”,较通过第一地图平台获取的“可信度:80”的可信度更高,则选择第二地图平台获取到的经度为105.067139,纬度为36.548830作为:“成都ABCD科技有限公司、成都市天府大道中段xx号”对应的经纬数据。将获取到的经纬度信息存储于HDFS分布式文件系统中,以上过程完成了经纬度信息的获取和存储过程。

创建ElasticSearch索引映射格式:字段包括:名称,地址;将对应信息导入到索引中。

上述过程如图1所示。在此数据的基础上,用户在进行地图信息显示页面时,输入“成都ABCD科技有限公司”时,首先进入默认地图页面,通过另外的线程根据从后台读取“成都ABCD科技有限公司”的对应信息,调用地图接口将目标:“成都ABCD科技有限公司”的位置,名称和图片描述显示出来,如图2所示。

实施例2

与实施例同样的方式获得多个目标的名称,地址,经度,纬度,图片;并将导入到对应的索引中,在进行地理信息展示时,通过异步加载的方式读取读多个目标的信息,在对应的位置显示出目标的相关信息,如图3所示。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1