本發(fā)明實(shí)施例涉及地圖引擎技術(shù)領(lǐng)域,尤其涉及一種引擎實(shí)現(xiàn)方法及裝置。
背景技術(shù):
隨著地理信息的不斷進(jìn)步,地圖服務(wù)引擎的使用越來越普遍。
然而對于地圖服務(wù)引擎,一般的產(chǎn)品都是采用從矢量數(shù)據(jù)開始處理,動態(tài)的去處理、發(fā)布地圖來提供給前臺進(jìn)行調(diào)用展示。這種方法的缺點(diǎn)是軟件本身太過龐大,學(xué)習(xí)成本高,不容易部署,出錯時不容易排查問題,響應(yīng)速度慢。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種輕量級地圖引擎實(shí)現(xiàn)方法及裝置,以提高地圖服務(wù)引擎的體驗(yàn)。
為達(dá)到此目的,本發(fā)明實(shí)施例采用以下技術(shù)方案:
一種地圖引擎實(shí)現(xiàn)方法,包括:
接收調(diào)用請求;
根據(jù)所述調(diào)用請求向客戶端發(fā)送引用代碼,所述引用代碼使得所述客戶端引用二次開發(fā)API獲取搜索目標(biāo)的瓦片地圖調(diào)用方法;
接收來自所述客戶端的所述瓦片地圖調(diào)用方法;
根據(jù)所述瓦片地圖調(diào)用方法加載對應(yīng)的瓦片地圖;
將所述瓦片地圖發(fā)送至所述客戶端,使得所述客戶端拼接所述瓦片地圖。
進(jìn)一步地,所述方法,在根據(jù)所述瓦片地圖調(diào)用方法加載對應(yīng)的瓦片地圖之前,還包括:
向網(wǎng)絡(luò)服務(wù)器發(fā)送瓦片地圖下載請求;
獲取所述網(wǎng)絡(luò)服務(wù)器根據(jù)所述瓦片地圖下載請求傳輸?shù)耐咂貓D;或者;
向所述網(wǎng)絡(luò)服務(wù)器發(fā)送矢量地圖下載請求;
獲取所述網(wǎng)絡(luò)服務(wù)器根據(jù)所述矢量地圖下載請求傳輸?shù)氖噶康貓D;
將所述矢量地圖的格式調(diào)整為瓦片地圖格式。
進(jìn)一步地,所述方法,所述瓦片地圖包括地圖信息和地理位置信息,在根據(jù)所述瓦片地圖調(diào)用方法加載對應(yīng)的瓦片地圖之前,還包括:
根據(jù)所述地理位置信息確定所述瓦片地圖對應(yīng)的圖層序號、圖層中的所在行的序號和圖層中的所在列的序號。
進(jìn)一步地,上述方法中,所述引用代碼為二次開發(fā)API的Javascript引用文件。
進(jìn)一步地,上述方法中,所述瓦片地圖調(diào)用方法為根據(jù)所述搜索目標(biāo)對應(yīng)的搜索特征確定對應(yīng)的瓦片地圖。
相應(yīng)地,本發(fā)明還公開一種地圖引擎實(shí)現(xiàn)裝置,包括:
調(diào)用請求接收模塊,用于接收調(diào)用請求;
引用代碼發(fā)送模塊,用于根據(jù)所述調(diào)用請求向客戶端發(fā)送引用代碼,所述引用代碼使得所述客戶端引用二次開發(fā)API獲取搜索目標(biāo)的瓦片地圖調(diào)用方法;
方法接收模塊,用于接收來自所述客戶端的所述瓦片地圖調(diào)用方法;
瓦片地圖加載模塊,用于根據(jù)所述瓦片地圖調(diào)用方法加載對應(yīng)的瓦片地圖;
瓦片地圖發(fā)送模塊,用于將所述瓦片地圖發(fā)送至所述客戶端,使得所述客戶端拼接所述瓦片地圖。
進(jìn)一步地,所述裝置,還包括:
瓦片地圖下載請求模塊,用于在根據(jù)所述瓦片地圖調(diào)用方法加載對應(yīng)的瓦片地圖之前,向網(wǎng)絡(luò)服務(wù)器發(fā)送瓦片地圖下載請求;
瓦片地圖獲取模塊,用于獲取所述網(wǎng)絡(luò)服務(wù)器根據(jù)所述瓦片地圖下載請求傳輸?shù)耐咂貓D;或者;
矢量地圖下載請求模塊,用于向所述網(wǎng)絡(luò)服務(wù)器發(fā)送矢量地圖下載請求;
矢量地圖獲取模塊,用于獲取所述網(wǎng)絡(luò)服務(wù)器根據(jù)所述矢量地圖下載請求傳輸?shù)氖噶康貓D;
地圖格式調(diào)整模塊,用于將所述矢量地圖的格式調(diào)整為瓦片地圖格式。
進(jìn)一步地,上述裝置中,所述瓦片地圖包括地圖信息和地理位置信息,還包括:
瓦片地圖序號確定模塊,用于在根據(jù)所述瓦片地圖調(diào)用方法加載對應(yīng)的瓦片地圖之前,根據(jù)所述地理位置信息確定所述瓦片地圖對應(yīng)的圖層序號、圖層中的所在行的序號和圖層中的所在列的序號。
進(jìn)一步地,上述裝置中,所述引用代碼為二次開發(fā)API的Javascript引用文件。
進(jìn)一步地,上述裝置中,所述瓦片地圖調(diào)用方法為根據(jù)所述搜索目標(biāo)對應(yīng)的搜索特征確定對應(yīng)的瓦片地圖。
本發(fā)明實(shí)施例所提供的技術(shù)方案,通過將事先處理好的瓦片地圖直接發(fā)布,中間沒有進(jìn)行任何復(fù)雜的邏輯處理,能夠滿足客戶日常業(yè)務(wù)系統(tǒng)需要嵌入地圖進(jìn)行瀏覽并基于地圖展示業(yè)務(wù)數(shù)據(jù)的需求,還能保證系統(tǒng)輕盈小巧,學(xué)習(xí)成本低,容易部署,出錯時容易排查問題,響應(yīng)速度快。
附圖說明
圖1為本發(fā)明實(shí)施例一提供的一種地圖引擎實(shí)現(xiàn)方法的流程示意圖;
圖2為本發(fā)明實(shí)施例一所適用的地圖引擎調(diào)用平臺實(shí)際結(jié)構(gòu)圖;
圖3為本發(fā)明實(shí)施例二提供的一種地圖引擎實(shí)現(xiàn)裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對本發(fā)明作進(jìn)一步的詳細(xì)說明。可以理解的是,此處所描述的具體實(shí)施例僅僅用于解釋本發(fā)明,而非對本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部結(jié)構(gòu)。
實(shí)施例一
請參閱附圖1,為本發(fā)明實(shí)施例一提供的一種地圖引擎實(shí)現(xiàn)方法的流程示意圖,該方法適用于地圖瀏覽應(yīng)用的場景,該方法由地圖引擎實(shí)現(xiàn)裝置來執(zhí)行,該裝置可以由軟件和/或硬件實(shí)現(xiàn),集成于后臺服務(wù)器的內(nèi)部。該方法具體包括如下步驟:
S110、接收調(diào)用請。;
具體的,后臺服務(wù)器接收前臺客戶端的調(diào)用請求,該調(diào)用請求用于獲得權(quán)限去調(diào)用后臺服務(wù)器中的二次開發(fā)API,相當(dāng)于通過調(diào)用請求來獲得獲得權(quán)限將后臺服務(wù)器中的二次開發(fā)API轉(zhuǎn)移到前臺客戶端中,以在前臺客戶端完成相應(yīng)的地圖瀏覽應(yīng)用。該后臺服務(wù)器優(yōu)選為Tomcat(湯姆貓)服務(wù)器。
S120、根據(jù)所述調(diào)用請求向客戶端發(fā)送引用代碼,所述引用代碼使得所述客戶端引用二次開發(fā)API獲取搜索目標(biāo)的瓦片地圖調(diào)用方法。
具體的,所述引用代碼為二次開發(fā)API的Javascript引用文件。前臺客戶端在獲取瓦片地圖調(diào)用方法之前,要先獲取地圖二次開發(fā)API的引用資格,所以在前臺客戶端發(fā)出調(diào)用請求之后,后臺服務(wù)器會先給予前臺客戶端準(zhǔn)許引用二次開發(fā)API的資格,所述資格通過引用代碼實(shí)現(xiàn)的,所述引用代碼為二次開發(fā)API的Javascript引用文件。
S130、接收來自所述客戶端的所述瓦片地圖調(diào)用方法。
需要說明的是,所述瓦片地圖調(diào)用方法為根據(jù)所述搜索目標(biāo)對應(yīng)的搜索特征確定對應(yīng)的瓦片地圖。
當(dāng)需要確定所述搜索目標(biāo)對應(yīng)的瓦片地圖時,只需要匹配所述搜索目標(biāo)對應(yīng)的搜索特征即可,優(yōu)選的,所述搜索特征是根據(jù)所述地理位置信息給所述瓦片地圖賦予對應(yīng)的圖層序號、圖層中的所在行的序號和圖層中的所在列的序號,例如可以是,所述搜索目標(biāo)為北京,北京的地理位置以及所包含的層、行、列信息是已知的,只需要在對應(yīng)的瓦片地圖庫里根據(jù)對應(yīng)的層、行、列信息調(diào)取目標(biāo)瓦片地圖即可。
S140、根據(jù)所述瓦片地圖調(diào)用方法加載對應(yīng)的瓦片地圖。
需要說明的是,如130所述,瓦片地圖庫里得每張瓦片在通過Tomcat服務(wù)器發(fā)布前,都已根據(jù)地理位置信息賦予了每張瓦片地圖特定的搜索特征,通過特定的搜索特征形成的調(diào)用方法所調(diào)取的瓦片地圖是存放在瓦片地圖庫里的。所述瓦片地圖庫的存放規(guī)則為:以先分層,再分行,后分列。例如可以是,北京的瓦片地圖為第二層的第5行的第100至112列、第6行的第98至115列以及第三層的第6行的第105至110列。
可選的,在S140之前還可以包括:向網(wǎng)絡(luò)服務(wù)器發(fā)送瓦片地圖下載請求;獲取所述網(wǎng)絡(luò)服務(wù)器根據(jù)所述瓦片地圖下載請求傳輸?shù)耐咂貓D;或者;
向所述網(wǎng)絡(luò)服務(wù)器發(fā)送矢量地圖下載請求;獲取所述網(wǎng)絡(luò)服務(wù)器根據(jù)所述矢量地圖下載請求傳輸?shù)氖噶康貓D;將所述矢量地圖的格式調(diào)整為瓦片地圖格式。
需要說明的是,下載的瓦片地圖或者由矢量地圖調(diào)整而得的瓦片地圖都必須包括地圖信息和地理位置信息,用于作為賦予每張瓦片地圖特定特征的依據(jù)。
S150、將所述瓦片地圖發(fā)送至所述客戶端,使得所述客戶端拼接所述瓦片地圖。
具體的,所述瓦片地圖是發(fā)送至客戶端引用的二次開發(fā)API中,二次開發(fā)API在拼接瓦片地圖時,依據(jù)的是瓦片地圖上的特定特征信息。例如可以是,北京的瓦片地圖,先拼接第二層的第5行的第100至112列、再拼接第6行的第98至115列,然后拼接第三層的第6行的第105至110列,最后第二層與第三層疊放拼接完成最終的地圖拼接展示。
上述地圖引擎實(shí)現(xiàn)方法,可以由地圖引擎調(diào)用平臺來實(shí)現(xiàn),其由后臺服務(wù)器和前臺客戶端兩個部分構(gòu)成。具體結(jié)構(gòu)關(guān)系請參閱圖2,圖2為本發(fā)明實(shí)施例一所適用的地圖引擎調(diào)用平臺實(shí)際結(jié)構(gòu)圖。
后臺服務(wù)器包括地圖瓦片庫、基于openlayers的二次開發(fā)API和Tomcat服務(wù)器等功能模塊。
前臺客戶端包括業(yè)務(wù)應(yīng)用系統(tǒng),能夠通過與后臺服務(wù)器即時交互滿足客戶日常業(yè)務(wù)系統(tǒng)需要嵌入地圖進(jìn)行瀏覽并基于地圖展示業(yè)務(wù)數(shù)據(jù)的需求,通過移動網(wǎng)絡(luò)與后臺服務(wù)器對接聯(lián)系。
需要說明的是,前臺客戶端兩個虛線框是代表框內(nèi)的內(nèi)容原本是不會出現(xiàn)在前臺客戶端的,具體原因如下:前臺客戶端通過業(yè)務(wù)應(yīng)用系統(tǒng)獲得二次開發(fā)API的引用權(quán)限后,相當(dāng)于將后臺服務(wù)器中的二次開發(fā)API轉(zhuǎn)移到前臺客戶端中應(yīng)用,后續(xù)的瓦片地圖的解析和拼接繼而展示也是在前臺客戶端引用的二次開發(fā)API中進(jìn)行。
綜上所述,本發(fā)明實(shí)施例一公開了一種地圖引擎實(shí)現(xiàn)方法,通過將事先處理好的瓦片地圖直接發(fā)布,中間沒有進(jìn)行任何復(fù)雜的邏輯處理,能夠滿足客戶日常業(yè)務(wù)系統(tǒng)需要嵌入地圖進(jìn)行瀏覽并基于地圖展示業(yè)務(wù)數(shù)據(jù)的需求,還能保證系統(tǒng)輕盈小巧,學(xué)習(xí)成本低,容易部署,出錯時容易排查問題,響應(yīng)速度快。
實(shí)施例二
請參閱附圖2,為本發(fā)明實(shí)施例二提供的一種地圖引擎實(shí)現(xiàn)裝置的結(jié)構(gòu)示意圖,該裝置具體包含如下模塊:
調(diào)用請求接收模塊210,用于接收調(diào)用請求;
引用代碼發(fā)送模塊220,用于根據(jù)所述調(diào)用請求向客戶端發(fā)送引用代碼,所述引用代碼使得所述客戶端引用二次開發(fā)API獲取搜索目標(biāo)的瓦片地圖調(diào)用方法;
方法接收模塊230,用于接收來自所述客戶端的所述瓦片地圖調(diào)用方法;
瓦片地圖加載模塊240,用于根據(jù)所述瓦片地圖調(diào)用方法加載對應(yīng)的瓦片地圖;
瓦片地圖發(fā)送模塊250,用于將所述瓦片地圖發(fā)送至所述客戶端,使得所述客戶端拼接所述瓦片地圖。
優(yōu)選的,所述裝置,還包括:
瓦片地圖下載請求模塊,用于在根據(jù)所述瓦片地圖調(diào)用方法加載對應(yīng)的瓦片地圖之前,向網(wǎng)絡(luò)服務(wù)器發(fā)送瓦片地圖下載請求;
瓦片地圖獲取模塊,用于獲取所述網(wǎng)絡(luò)服務(wù)器根據(jù)所述瓦片地圖下載請求傳輸?shù)耐咂貓D;或者;
矢量地圖下載請求模塊,用于向所述網(wǎng)絡(luò)服務(wù)器發(fā)送矢量地圖下載請求;
矢量地圖獲取模塊,用于獲取所述網(wǎng)絡(luò)服務(wù)器根據(jù)所述矢量地圖下載請求傳輸?shù)氖噶康貓D;
地圖格式調(diào)整模塊,用于將所述矢量地圖的格式調(diào)整為瓦片地圖格式。
優(yōu)選的,上述裝置中,所述瓦片地圖包括地圖信息和地理位置信息,還包括:
瓦片地圖序號確定模塊,用于在根據(jù)所述瓦片地圖調(diào)用方法加載對應(yīng)的瓦片地圖之前,根據(jù)所述地理位置信息確定所述瓦片地圖對應(yīng)的圖層序號、圖層中的所在行的序號和圖層中的所在列的序號。
優(yōu)選的,上述裝置中,所述引用代碼為二次開發(fā)API的Javascript引用文件。
優(yōu)選的,上述裝置中,所述瓦片地圖調(diào)用方法為根據(jù)所述搜索目標(biāo)對應(yīng)的搜索特征確定對應(yīng)的瓦片地圖。
本實(shí)施例通過接收調(diào)用請求;根據(jù)所述調(diào)用請求向客戶端發(fā)送引用代碼,所述引用代碼使得所述客戶端引用二次開發(fā)API獲取搜索目標(biāo)的瓦片地圖調(diào)用方法;接收來自所述客戶端的所述瓦片地圖調(diào)用方法;根據(jù)所述瓦片地圖調(diào)用方法加載對應(yīng)的瓦片地圖;將所述瓦片地圖發(fā)送至所述客戶端,使得所述客戶端拼接所述瓦片地圖?;谏鲜龇椒把b置,通過將事先處理好的瓦片地圖直接發(fā)布,中間沒有進(jìn)行任何復(fù)雜的邏輯處理,能夠滿足客戶日常業(yè)務(wù)系統(tǒng)需要嵌入地圖進(jìn)行瀏覽并基于地圖展示業(yè)務(wù)數(shù)據(jù)的需求,還能保證系統(tǒng)輕盈小巧,學(xué)習(xí)成本低,容易部署,出錯時容易排查問題,響應(yīng)速度快。
上述產(chǎn)品可執(zhí)行本發(fā)明任意實(shí)施例所提供的方法,具備執(zhí)行方法相應(yīng)的功能模塊和有益效果。
注意,上述僅為本發(fā)明的較佳實(shí)施例及所運(yùn)用技術(shù)原理。本領(lǐng)域技術(shù)人員會理解,本發(fā)明不限于這里所述的特定實(shí)施例,對本領(lǐng)域技術(shù)人員來說能夠進(jìn)行各種明顯的變化、重新調(diào)整和替代而不會脫離本發(fā)明的保護(hù)范圍。因此,雖然通過以上實(shí)施例對本發(fā)明進(jìn)行了較為詳細(xì)的說明,但是本發(fā)明不僅僅限于以上實(shí)施例,在不脫離本發(fā)明構(gòu)思的情況下,還可以包括更多其他等效實(shí)施例,而本發(fā)明的范圍由所附的權(quán)利要求范圍決定。