本發(fā)明互聯(lián)網(wǎng)信息處理領域,特別涉及基于異步加載的地圖信息展示系統(tǒng)。
背景技術:
移動智能設備的興起為人們的生活和工作提供了諸多便利,其中智能手機在移動智能終端中的普及程度最高,使用最廣泛。針對智能手機的各類應用也在不斷的更新和發(fā)展;現(xiàn)有的智能手機,內存有限,加載應用程序過多,在進行使用時畫面卡頓經(jīng)常發(fā)生,尤其是在有較多的圖片同時顯示時,由于圖片所占據(jù)的內存很大,一般采用從后臺讀取的方式,在前端展示的方式來進行;如果圖片從后臺讀取,一般需要進行經(jīng)過二進制流的轉換,讀取速度會影響畫面顯示和繪制的效果,這些因素導致了同步顯示大量文字和圖片時頁面刷新效果差,操作不流暢的現(xiàn)象,嚴重影響用戶的使用體驗。
在各類應用中通過基于地理信息系統(tǒng)的服務具有非常廣泛的應用,例如提供用戶位置服務,目標的地理信息查詢等;但是隨著需要展示的數(shù)據(jù)量越來越大,如何在不影響用戶操作體驗的前提下快速展示大量數(shù)據(jù)成為了一個重要的問題。目前手機APP在實現(xiàn)將大量數(shù)據(jù)展示在地圖工具上時,采用將目標以一個小點顯示在地圖上,通過點擊小點來獲取此點對應的相關數(shù)據(jù),以此來減少圖像的渲染,保證界面的流暢。但此種顯示系統(tǒng)需要用戶點擊目標才顯示詳細信息,增加了用戶的操作步驟,展示方式不夠直觀,而且僅在無需一次性直觀的展示數(shù)據(jù)的詳細信息的前提下才具有較好的顯示效果。
技術實現(xiàn)要素:
本發(fā)明的目的在于克服現(xiàn)有技術中所存在的上述不足,提供基于異步加載的地圖信息展示系統(tǒng)。在用戶進入到默認的第一個選項卡界面時,就通過線程異步預加載地圖界面的一些信息,加快了用戶切換到地圖信息選項卡界面后數(shù)據(jù)加載的速度,保證操作流暢性。
為了實現(xiàn)上述發(fā)明目的,本發(fā)明提供了以下技術方案:
基于異步加載的地圖信息展示系統(tǒng),包括客戶端和服務端,所述客戶端與服務端通信相連;所述客戶端基于異步加載的方法實現(xiàn)目標地圖信息的展示。
所述客戶端在進行目標地圖信息展示時,首先顯示出默認地圖信息;再通過線程讀取存儲于服務端的目標地理經(jīng)緯度信息、文字信息和圖片信息;所述服務端根據(jù)客戶端的請求將信息返回到客戶端進行相應的顯示;所述客戶端在已顯示的基礎地圖頁面上根據(jù)目標的地理經(jīng)緯度信息顯示出目標位置,并在對應位置顯示出對應的文字和圖片信息。
進一步的,所述系統(tǒng)還包括數(shù)據(jù)獲取系統(tǒng),所述數(shù)據(jù)獲取系統(tǒng)將獲取到的目標名稱、地址、經(jīng)度、緯度和圖片數(shù)據(jù)存儲于服務端的分布式文件系統(tǒng)中。
進一步的,所述數(shù)據(jù)獲取系統(tǒng)根據(jù)目標的地址調用至少兩家地圖平臺接口獲取對應的地理經(jīng)緯度信息。包含以下步驟:調用第一地圖平臺接口,獲得第一經(jīng)度數(shù)據(jù)和第一緯度數(shù)據(jù);調用第二地圖平臺接口,獲得第二經(jīng)度數(shù)據(jù)和第二緯度數(shù)據(jù)。
進一步的,所述系統(tǒng)還包括,數(shù)據(jù)驗證系統(tǒng);所述數(shù)據(jù)驗證系統(tǒng)根據(jù)至少兩家地圖平臺接口獲取的數(shù)據(jù),進行經(jīng)緯度數(shù)據(jù)的相互驗證和補全。
進一步的,所述數(shù)據(jù)驗證系統(tǒng)實現(xiàn)經(jīng)緯度數(shù)據(jù)相互驗證和補全,適用以下規(guī)則條件:
a、如果從第一地圖平臺獲取的經(jīng)緯度數(shù)據(jù)完整,而從第二地圖平臺獲取到的經(jīng)緯度數(shù)據(jù)有缺失,則選擇第一經(jīng)度數(shù)據(jù)和第一緯度數(shù)據(jù)作為企業(yè)的地理經(jīng)緯度信息;
b、選擇從平臺獲取到的數(shù)據(jù)信息中,根據(jù)可信度來排序,選擇可信較高的對應經(jīng)緯度信息為企業(yè)的經(jīng)緯度數(shù)據(jù);
c、比較第一經(jīng)度數(shù)據(jù)和第二經(jīng)度數(shù)據(jù),得到差值數(shù)據(jù)1,比較第一緯度數(shù)據(jù)和第二緯度數(shù)據(jù),得到差值數(shù)據(jù)2,如果差值數(shù)據(jù)1和差值數(shù)據(jù)2均在設置的閾值內,則可選擇將第一經(jīng)度數(shù)據(jù)、第一緯度數(shù)據(jù)或者第二經(jīng)度數(shù)據(jù)、第二緯度數(shù)據(jù)作為企業(yè)的地理經(jīng)緯度數(shù)據(jù);上述規(guī)則條件按順序適用。
進一步的,所述服務端使用ElasticSearch來建立索引,索引存儲的字段包括名稱。
進一步的,所述系統(tǒng)實現(xiàn)目標地圖信息顯示包含以下步驟:
(ST1)用戶通過客戶端輸入查詢目標的名稱;
(ST2)進入目標的地圖信息展示頁面;
(ST2-A)顯示默認地圖頁面;
(ST2-B)通過線程建立與服務端的通信連接,根據(jù)索引查詢并讀取存儲于服務端文件系統(tǒng)中的目標名稱、經(jīng)度數(shù)據(jù)、緯度數(shù)據(jù)和圖片數(shù)據(jù);調用地圖接口根據(jù)目標的經(jīng)緯度信息在地圖上繪制出目標的位置,并在對應位置顯示出目標名稱和對應圖片數(shù)據(jù)。
進一步的,所述客戶端為加載于智能手機中的APP應用;所述服務端、數(shù)據(jù)獲取系統(tǒng)和數(shù)據(jù)驗證系統(tǒng)為加載有上述對應系統(tǒng)功能程序的服務器或者服務器集群。
與現(xiàn)有技術相比,本發(fā)明的有益效果:本發(fā)明提供基于異步加載的地圖信息展示系統(tǒng),,包括客戶端和服務端,所述客戶端與服務端通信相連;所述客戶端基于異步加載的方法實現(xiàn)目標地圖信息的展示。用戶進入目標地圖信息顯示頁面時,首先顯示出默認地圖信息,再通過線程讀取存儲于服務端的目標的地理坐標信息、文字信息和圖片信息;并在已顯示的基礎地圖頁面上根據(jù)目標的坐標位置繪制出目標位置以及目標對應的文字和圖片信息。本系統(tǒng)基于異步加載方式實現(xiàn)多個目標地圖信息的流程顯示,減少了內存的占用,提高了頁面刷新和圖片渲染的效率,避免畫面卡頓,保證了操作的流暢性,當用戶進入到地圖展示頁面時先顯示基本的地圖信息然后可以看到地圖上顯示的目標的位置名稱和對應的圖片信息,畫面逐步展示,用戶操作感受更加流暢;顯示效果較同步加載方式顯著提高。同時本系統(tǒng)包含數(shù)據(jù)驗證系統(tǒng),保證了數(shù)據(jù)獲取的準確性,保障了數(shù)據(jù)質量。
附圖說明:
圖1為本基于異步加載的地圖信息展示系統(tǒng)的系統(tǒng)結構示意圖。
圖2為本基于異步加載的地圖信息展示系統(tǒng)的數(shù)據(jù)獲取系統(tǒng)和數(shù)據(jù)驗證系統(tǒng)結構示意圖。
圖3為本基于異步加載的地圖信息展示系統(tǒng)的地圖顯示實現(xiàn)步驟示意圖。
圖4為本系統(tǒng)實現(xiàn)單個目標的地圖展示示意圖。
圖5為本系統(tǒng)實現(xiàn)多個目標的地圖展示示意圖。
應該理解本發(fā)明的所有附圖均為示意性的,不代表真實的尺寸和比例。
具體實施方式
下面結合試驗例及具體實施方式對本發(fā)明作進一步的詳細描述。但不應將此理解為本發(fā)明上述主題的范圍僅限于以下的實施例,凡基于本發(fā)明內容所實現(xiàn)的技術均屬于本發(fā)明的范圍。
本發(fā)明提供基于異步加載的地圖信息展示系統(tǒng),如圖1所示,包括客戶端和服務端,所述客戶端與服務端通信相連,所述客戶端可以是多個;所述客戶端基于異步加載的方法實現(xiàn)目標地圖信息的展示。所述客戶端在進行目標地圖信息展示時,首先顯示出默認地圖信息;再通過線程讀取存儲于服務端的目標地理經(jīng)緯度信息、文字信息和圖片信息;所述服務端根據(jù)客戶端的請求將信息返回到客戶端進行相應的顯示;所述客戶端在根據(jù)目標的地理經(jīng)緯度信息顯示出目標位置,并在對應位置顯示出對應的文字和圖片信息。由于不是將所有文字圖片一次性在地圖進行顯示,就減少了內存的占用,避免了畫面的卡頓現(xiàn)象,從用戶感受的角度來說首先看到的是基本的地圖信息,緊接著將看到目標信息在地圖上的顯示,畫面顯示比較流暢,提高了用戶體驗。這樣的異步加載方式減少對智能終端內存的使用,保證界面刷新、渲染的效率,使用戶操作更加流暢。本發(fā)明系統(tǒng)特別適用于在地圖頁面上一次性展示出大目標的文字和圖片信息的情形。
進一步的,所述系統(tǒng)還包括數(shù)據(jù)獲取系統(tǒng)和數(shù)據(jù)驗證系統(tǒng),所述數(shù)據(jù)獲取系統(tǒng)將獲取到的目標名稱、地址、經(jīng)度、緯度和圖片數(shù)據(jù)存儲于服務端的分布式文件系統(tǒng)中。目標的選擇根據(jù)具體的應用來設定(比如某一領域的垂直搜索),根據(jù)需要設置字段從互聯(lián)網(wǎng)中來獲取對應的信息,為相關數(shù)據(jù)的分析和重整提供基礎。
進一步的,所述數(shù)據(jù)獲取系統(tǒng)根據(jù)目標的地址調用至少兩家地圖平臺接口獲取對應的地理經(jīng)緯度信息,來保證數(shù)據(jù)獲取的準備性,為經(jīng)緯度數(shù)據(jù)相互驗證和補全提供數(shù)據(jù)基礎。數(shù)據(jù)獲取包含以下步驟:所述數(shù)據(jù)獲取系統(tǒng)根據(jù)目標的地址調用第一地圖平臺接口,獲得第一經(jīng)度數(shù)據(jù)和第一緯度數(shù)據(jù);調用第二地圖平臺接口,獲得第二經(jīng)度數(shù)據(jù)和第二緯度數(shù)據(jù)。
進一步的,所述數(shù)據(jù)驗證系統(tǒng)根據(jù)數(shù)據(jù)采集系統(tǒng)從至少兩家地圖平臺接口獲取的數(shù)據(jù),進行經(jīng)緯度數(shù)據(jù)的相互驗證和補全;并將驗證補全后的數(shù)據(jù)存儲于服務端的分布式文件系統(tǒng)中,如圖2所示。所述數(shù)據(jù)驗證系統(tǒng)實現(xiàn)經(jīng)緯度數(shù)據(jù)相互驗證和補全,適用以下規(guī)則條件:
a、如果從第一地圖平臺獲取的經(jīng)緯度數(shù)據(jù)完整,而從第二地圖平臺獲取到的經(jīng)緯度數(shù)據(jù)有缺失,則選擇第一經(jīng)度數(shù)據(jù)和第一緯度數(shù)據(jù)作為企業(yè)的地理經(jīng)緯度信息;
b、選擇從平臺獲取到的數(shù)據(jù)信息中,根據(jù)可信度來排序,選擇可信較高的對應經(jīng)緯度信息為企業(yè)的經(jīng)緯度數(shù)據(jù);
c、比較第一經(jīng)度數(shù)據(jù)和第二經(jīng)度數(shù)據(jù),得到差值數(shù)據(jù)1,比較第一緯度數(shù)據(jù)和第二緯度數(shù)據(jù),得到差值數(shù)據(jù)2,如果差值數(shù)據(jù)1和差值數(shù)據(jù)2均在設置的閾值內,則可選擇將第一經(jīng)度數(shù)據(jù)、第一緯度數(shù)據(jù)或者第二經(jīng)度數(shù)據(jù)、第二緯度數(shù)據(jù)作為企業(yè)的地理經(jīng)緯度數(shù)據(jù);上述規(guī)則條件按順序適用。
進一步的,在數(shù)據(jù)存儲的基礎上,所述服務端使用ElasticSearch來建立索引,索引存儲的字段包括名稱。具體的,將所述目標的名稱、經(jīng)度、緯度數(shù)據(jù)存儲于數(shù)據(jù)庫,將圖片存儲于文件分布式文件中;使用ElasticSearch來建立包含目標名稱的索引格式;將并將對應信息導入到索引中。ElasticSearch是一個基于Lucene的搜索服務器,提供了一個分布式多用戶能力的全文搜索引擎,基于RESTful web接口,方便用戶通過web接口來搜索和讀取數(shù)據(jù)。
進一步的,所述系統(tǒng)實現(xiàn)目標地圖信息顯示包含以下步驟:
(ST1)用戶通過客戶端輸入查詢目標的名稱;
(ST2)進入目標的地圖信息展示頁面;
(ST2-A)顯示默認地圖頁面;
(ST2-B)通過線程建立與服務端的通信連接,根據(jù)索引查詢并讀取存儲于服務端文件系統(tǒng)中的目標名稱、經(jīng)度數(shù)據(jù)、緯度數(shù)據(jù)和圖片數(shù)據(jù);調用地圖接口根據(jù)目標的經(jīng)緯度信息在地圖上繪制出目標的位置,并在對應位置顯示出目標名稱和對應圖片數(shù)據(jù)。
進一步的,所述客戶端為加載于智能手機中的APP應用;所述服務端、數(shù)據(jù)獲取系統(tǒng)和數(shù)據(jù)驗證系統(tǒng)為加載有上述對應系統(tǒng)功能程序的服務器或者服務器集群。
實施例1
例如名稱為成都ABCD科技有限公司,地址為:成都市天府大道中段xx號,根據(jù)地址信息調用第一地圖平臺接口獲取到目標地址對應的地理經(jīng)緯度信息為:
{"status":0,"result":{"location":{"lng":105.07392899855,"lat":36.555138880016},″precise":1,"confidence":80,"level":"\u5546\u52a1\u5927\u53a6"}}從返回信息可以獲取到"confidence":80對應可信度為:80,經(jīng)度為105.07392899855,緯度為36.555138880016。
調用第二地圖平臺接口獲取到目標地址對應的地理經(jīng)緯度信息為:{"status":″1″,″info″:"OK","infocode":″1000","count":″1","geocodes":[{"formatted_address":″四川省成都市武侯區(qū)某某廣場B座″,″province":″四川省,″citycode":"028″,″city":"成都市″,″district":″武侯區(qū)","township":[],"neighborhood":{"name":[],"type":[]},"building":{"name":[],"type":[]},″adcode":″510107","street":″天府大道中段″,″number":"xx號″,″location":″104.067139,30.548830","level":″門牌號″}]}。從上述返回信息可以獲取到:可信度為門牌號,經(jīng)度為105.067139,緯度為36.548830。
將上述兩個地圖平臺中獲取到的數(shù)據(jù)輸入數(shù)據(jù)驗證系統(tǒng)中進行經(jīng)緯度數(shù)據(jù)的相互驗證和補全;根據(jù)經(jīng)緯度數(shù)據(jù)的相互驗證和補全規(guī)則,上述兩個平臺獲取到的數(shù)據(jù)均完整,則適用規(guī)則b,根據(jù)兩個平臺的獲取數(shù)據(jù)的可信度來進行排序,比如說將第二地圖平臺的"level":″門牌號″,對應的轉化為“可信度:99”,(不同地圖平臺返回的數(shù)據(jù)格式略有差異,根據(jù)地圖平臺數(shù)據(jù)的含義,將″level":″門牌號″文字類型的描述,轉化成可以進行比較的數(shù)字,為不同地圖數(shù)據(jù)平臺的可信度比較奠定基礎)較通過第一地圖平臺獲取的“可信度:80”的可信度更高,則選擇第二地圖平臺獲取到的經(jīng)度為105.067139,緯度為36.548830作為:“成都ABCD科技有限公司、成都市天府大道中段xx號”對應的經(jīng)緯數(shù)據(jù)。經(jīng)過數(shù)據(jù)驗證系統(tǒng)的驗證后將獲取到的經(jīng)緯度信息存儲于服務端的HDFS分布式文件系統(tǒng)中,以上過程完成了經(jīng)緯度信息的獲取、驗證和存儲過程。
根據(jù)需要顯示的情況,獲取目標相關的描述圖片,將圖片存儲于服務端的分布式文件系統(tǒng)中;根據(jù)需要,將數(shù)據(jù)存儲為JSON格式,比如說:{″名稱″:″成都ABCD科技有限公司″,″地址″:″成都市天府大道中段xx號″,″經(jīng)度″:″′105.067139″,″緯度″:″36.548830",″圖片路徑″:″XXXXXX"}在服務端創(chuàng)建ElasticSearch索引系統(tǒng):根據(jù)需要創(chuàng)建ElasticSearch索引映射格式:字段包括:名稱;將對應信息導入到索引中。
在服務端數(shù)據(jù)存儲和索引的基礎上,用戶在客戶端進行地圖信息顯示頁面時,輸入“成都ABCD科技有限公司”時,首先進入默認地圖頁面,通過線程發(fā)送數(shù)據(jù)請求到服務端,服務端根據(jù)客戶端的數(shù)據(jù)請求,檢索出對應的數(shù)據(jù)返回到客戶端中,客戶端調用地圖平臺接口,并根據(jù)客戶端所返回的數(shù)據(jù)目標:“成都ABCD科技有限公司”的位置,名稱和圖片描述顯示出來,如圖4所示。
實施例2
與實施例同樣的方式獲得多個目標的名稱,地址,經(jīng)度,緯度,圖片;并將導入到對應的索引中,在進行地理信息展示時,通過異步加載的方式讀取讀多個目標的信息,在對應的位置顯示出目標的相關信息,如圖5所示。