s繪制在客戶端瀏覽器中,而且允許使用者針對實際需求進行二次開發(fā),如圖4所示,為通過MapCanvasl.0API,在瀏覽器端使用HTML5Canvas繪制的矢量圖形;采用該方法,在客戶端編程時只需要編寫幾行代碼,分別對要表現(xiàn)的矢量圖層進行實例化即可,從圖4的顯示效果中可以看出,頁面顯示框(HTML5Canvas畫布大小)為500X500像素,地圖顯示建筑物、地名點、次干道等類型數(shù)據(jù),各類型數(shù)據(jù)根據(jù)setFeatureColor O、setFeatureffidth ()方法設(shè)置顯示圖層的顏色和線條寬度,通過setBaseFieldO方法設(shè)置要顯示文字的字段名,MapCanvas2.0是在已有MapCanvasl.0的基礎(chǔ)上改進而成,保持MapCanvasl.0的主體結(jié)構(gòu)不變,進行了功能增強;MapCanvaS2.0繼承了 1.0版本的特點,可以通過簡單代碼將需要展示的圖層以矢量瓦片文件的形式使用HTML5Canvas繪出,并且可以滿足使用者對其進行二次開發(fā)的要求,同時,使用者也可以根據(jù)自身需求對API進行改寫,如圖5所示,為采用在瀏覽器端加載矢量瓦片的方式發(fā)布的實時路況效果圖。
[0065]可選地,所述方法還包括:
[0066]所述用戶終端接收所述網(wǎng)絡(luò)服務(wù)器轉(zhuǎn)發(fā)的地理信息系統(tǒng)服務(wù)器提供的與所述地圖瓦片對應(yīng)的地圖服務(wù)信息,并在顯示所述地圖瓦片的同時,輔助顯示所述地圖服務(wù)信息。
[0067]在具體實施過程中,除為用戶提供基本的地圖服務(wù)外,還可以為用戶提供與地圖有關(guān)的其它服務(wù)信息,如最短路徑查詢服務(wù)、實時路況服務(wù)、底圖服務(wù)等,其中,最短路徑查詢服務(wù)可由網(wǎng)絡(luò)(Web)服務(wù)器支持,實時路況服務(wù)、底圖服務(wù)等可以由地理信息系統(tǒng)(Geographic Informat1n System, GIS)服務(wù)器支持。
[0068]本發(fā)明實施例的系統(tǒng)可以包括表現(xiàn)層、Web服務(wù)層、GIS服務(wù)層和數(shù)據(jù)層;如圖6所示,在表現(xiàn)層,即顯示層,客戶端根據(jù)自身瀏覽器,通過下載到本地的MapCanvas API訪問Web服務(wù)器端的矢量瓦片數(shù)據(jù)完成地圖顯示,同時,客戶端利用OpenLayers訪問GIS服務(wù)器中發(fā)布的地圖服務(wù)(Web map service, WMS)信息,并進行輔助顯示,這里的OpenLayers是一個開源Javascript類庫,可用于實現(xiàn)對采用標(biāo)準(zhǔn)格式發(fā)布的地圖數(shù)據(jù)的訪問,輔助顯示與地圖相關(guān)的其它地圖服務(wù)信息,當(dāng)需要顯示地圖時,Openlayers調(diào)用GIS服務(wù)器發(fā)布的地圖服務(wù)信息,可選地,客戶端將用戶的地圖服務(wù)請求發(fā)送至Web服務(wù)器后,Web服務(wù)器可以將該請求轉(zhuǎn)發(fā)至GIS服務(wù)器,GIS服務(wù)器將與該請求對應(yīng)的地圖服務(wù)信息返回給Web服務(wù)器,由Web服務(wù)器轉(zhuǎn)發(fā)給客戶端;在Web服務(wù)層,采用免費、開源的Web應(yīng)用服務(wù)器,這里,Web應(yīng)用服務(wù)器端程序使用Servlet編寫,主要負責(zé)確定存在于服務(wù)器文件系統(tǒng)中符合客戶端需求的矢量瓦片文件,除此,還可以如上所述轉(zhuǎn)發(fā)GIS服務(wù)器發(fā)布的地圖服務(wù)信息;在GIS服務(wù)層,采用地理信息系統(tǒng)服務(wù)器(GeoServer ),其中GeoServer為采用JAVA EE設(shè)計并且符合開放地理空間信息聯(lián)盟(Open Geospatial Consortium, 0GC)標(biāo)準(zhǔn)的GIS應(yīng)用服務(wù)器,該層的主要功能是為表現(xiàn)層道路數(shù)據(jù)提供底圖服務(wù),同時GeoServer在訪問存儲在空間數(shù)據(jù)庫中的底圖數(shù)據(jù)后,發(fā)布便于客戶端調(diào)用的網(wǎng)絡(luò)地圖服務(wù)(Web Map Service, WMS)信息;在數(shù)據(jù)層,采用開源數(shù)據(jù)庫PostgreSQL與開源空間數(shù)據(jù)引擎PostGIS相結(jié)合進行設(shè)計,主要負責(zé)存儲支持路徑分析的路網(wǎng)數(shù)據(jù)、興趣點數(shù)據(jù)等,比如,路網(wǎng)數(shù)據(jù)包含北京市區(qū)主干道、次干道等數(shù)據(jù),興趣點數(shù)據(jù)包含路網(wǎng)周邊的肯德基、郵局、酒店、學(xué)校等數(shù)據(jù),另外,提供底圖服務(wù)的底圖數(shù)據(jù)和進行路徑分析的路況數(shù)據(jù)等也可以存儲于數(shù)據(jù)層中。
[0069]綜上,本發(fā)明實施例通過對HTML5技術(shù)和WebGI S技術(shù)的深入研究,創(chuàng)造性地將兩種技術(shù)進行有機結(jié)合,并在實踐探索當(dāng)中證明二者結(jié)合的方式具有較高的可操作性,二者結(jié)合后能達到現(xiàn)有傳統(tǒng)技術(shù)難以達到的效果,具有很強的實用性;客戶端使用HTML5Canvas技術(shù)繪制GeoJSON格式矢量數(shù)據(jù)的方法具有跨平臺的優(yōu)勢,客戶端能夠在其操作系統(tǒng)不安裝特定軟件及瀏覽器插件的情況下實現(xiàn)矢量數(shù)據(jù)的繪制,類似于不使用插件的富客戶端表現(xiàn)方式,這種方式展現(xiàn)矢量數(shù)據(jù)速度快,節(jié)省網(wǎng)絡(luò)流量,有效克服了傳統(tǒng)WebGIS矢量數(shù)據(jù)在瀏覽器中進行可視化缺乏統(tǒng)一標(biāo)準(zhǔn),以及在用戶請求地圖瓦片時,將地圖臨時切片導(dǎo)致響應(yīng)速度慢、網(wǎng)絡(luò)傳輸耗費流量不足的問題;本發(fā)明實施例中采用矢量瓦片配合MapCanvas2.0能夠提高矢量數(shù)據(jù)在客戶端的渲染速度,節(jié)省網(wǎng)絡(luò)流量,同時,本發(fā)明實施例中的矢量瓦片生成算法具有較高的執(zhí)行效率,矢量瓦片的存儲方式安排合理,具有良好、直觀的存儲結(jié)構(gòu),便于客戶端程序按照規(guī)則對相應(yīng)文件進行提??;本發(fā)明實施例,使用HTML5技術(shù)結(jié)合開源框架設(shè)計構(gòu)建實時路況WebGIS系統(tǒng),可以為車輛等應(yīng)用場景提供實時路況地圖展示、最優(yōu)路徑查詢功能,幫助用戶提前判斷前方路況,輔助確定提前繞行決策,選擇最優(yōu)出行路線,從而緩解道路交通壓力、提高居民出行效率。
[0070]如圖7所示,為本發(fā)明實施例二提供的地圖服務(wù)提供方法流程圖,該方法包括:
[0071]S701:網(wǎng)絡(luò)服務(wù)器接收用戶終端發(fā)送的矢量瓦片文件請求消息;
[0072]S702:所述網(wǎng)絡(luò)服務(wù)器確定所述用戶終端請求的矢量瓦片文件所在的切割層級,并從存儲的所述切割層級下的所有矢量瓦片文件中查找所述用戶終端請求的矢量瓦片文件;其中,所述矢量瓦片文件為將整幅地圖按不同切割層級分別進行切割后,設(shè)定切割層級下的一個地圖瓦片的矢量數(shù)據(jù)文件;
[0073]S703:所述網(wǎng)絡(luò)服務(wù)器將查找到的所述矢量瓦片文件發(fā)送給所述用戶終端,以使所述用戶終端根據(jù)所述矢量瓦片文件繪制并顯示所述地圖瓦片。
[0074]可選地,步驟S701之后,還包括:
[0075]所述網(wǎng)絡(luò)服務(wù)器將所述矢量瓦片文件請求消息轉(zhuǎn)發(fā)給地理信息系統(tǒng)服務(wù)器,并接收所述地理信息系統(tǒng)服務(wù)器發(fā)送的與所述地圖瓦片對應(yīng)的地圖服務(wù)信息;
[0076]所述網(wǎng)絡(luò)服務(wù)器將所述地圖服務(wù)信息轉(zhuǎn)發(fā)給所述用戶終端。
[0077]基于同一發(fā)明構(gòu)思,本發(fā)明實施例中還提供了一種與地圖服務(wù)提供方法對應(yīng)的地圖服務(wù)提供裝置,由于該裝置解決問題的原理與本發(fā)明實施例地圖服務(wù)提供方法相似,因此該裝置的實施可以參見方法的實施,重復(fù)之處不再贅述。
[0078]如圖8所示,為本發(fā)明實施例提供地圖服務(wù)的用戶終端結(jié)構(gòu)示意圖,該用戶終端包括:
[0079]確定模塊81,用于確定用戶通過瀏覽器輸入的地圖片段請求消息;
[0080]收發(fā)模塊82,用于根據(jù)所述地圖片段請求消息,向網(wǎng)絡(luò)服務(wù)器請求與所述地圖片段請求消息對應(yīng)的矢量瓦片文件;其中,所述矢量瓦片文件為一個地圖瓦片的矢量數(shù)據(jù)文件,所述地圖瓦片為將整幅地圖按不同切割層級分別進行切割后,所述地圖片段請求消息對應(yīng)的設(shè)定切割層級的一個地圖片段;
[0081]處理模塊83,用于根據(jù)所述網(wǎng)絡(luò)服務(wù)器發(fā)送的所述矢量瓦片文件,繪制并顯示所述地圖瓦片。
[0082]可選地,所述收發(fā)模塊82,還用于接收所述網(wǎng)絡(luò)服務(wù)器轉(zhuǎn)發(fā)的地理信息系統(tǒng)服務(wù)器提供的與所述地圖瓦片對應(yīng)的地圖服務(wù)信息;
[0083]所述處理模塊83,還用于在顯示所述地圖瓦片的同時,輔助顯示所述地圖服務(wù)信肩、O
[0084]可選地,所述處理模塊83具體用于:
[0085]采用超文本標(biāo)記語言HTML5Canvas,根據(jù)所述矢量瓦片文件,繪制所述地圖瓦片。
[0086]如圖9所示,為本發(fā)明實施例提供地圖服務(wù)的網(wǎng)絡(luò)服務(wù)器結(jié)構(gòu)示意圖,該網(wǎng)絡(luò)服務(wù)器包括:
[0087]接收模塊91,用于接收用戶終端發(fā)送的矢量瓦片文件請求消息;
[0088]處理模塊92,用于確定所述用戶終端請求的矢量瓦片文件所在的切割層級,并從存儲