實(shí)現(xiàn)地圖放大與縮小的功能是基于瓦片地圖的拼接與顯示的。
TMS是tile map service的縮寫,是一種瓦片地圖服務(wù)疲眷,也稱之為WMTS(web map tile service)服爷,具體的標(biāo)準(zhǔn)可以見OGC網(wǎng)站。TMS的算法很簡單薄料,就是把投影后的世界地圖按照層級(jí)進(jìn)行四叉樹(待驗(yàn)證)切割敞贡,切割后的瓦片數(shù)量隨層級(jí)呈金字塔型。簡單來說就是賦予地圖縮放等級(jí)這個(gè)屬性都办。即0級(jí)瓦片地圖只有一張圖片(瓦片)嫡锌,1級(jí)有四張。在第z級(jí)別琳钉,x,y方向的瓦片個(gè)數(shù)均為:
經(jīng)緯度與瓦片坐標(biāo)編號(hào)势木、像素的轉(zhuǎn)換公式如下
以下圖片(z,x,y)像素(m,n)[注:像素坐標(biāo)以左上角為原點(diǎn),x軸向右歌懒,y軸向下]的經(jīng)緯度[單位:度]分別為:
用鼠標(biāo)操作地圖放大縮小過程的流程圖如下:
操作過程中啦桌,程序獲取需求顯示的最大最小xy值。根據(jù)以上公式換算及皂,請(qǐng)求加載相應(yīng)的瓦片來顯示地圖細(xì)節(jié)甫男。
參考:
Google Map 衛(wèi)星地圖/地形圖:jpg 地圖:png