『壹』 地圖軟體縮小與放大的原理
實現地圖放大與縮小的功能是基於瓦片地圖的拼接與顯示的。
TMS是tile map service的縮寫,是一種瓦片地圖服務,也稱之為WMTS(web map tile service),具體的標准可以見 OGC網站 。TMS的演算法很簡單,就是把投影後的世界地圖按照層級進行四叉樹(待驗證)切割,切割後的瓦片數量隨層級呈金字塔型。簡單來說就是賦予地圖縮放等級這個屬性。即0級瓦片地圖只有一張圖片(瓦片),1級有四張。在第z級別,x,y方向的瓦片個數均為:
經緯度與瓦片坐標編號、像素的轉換公式如下
以下圖片譽判(z,x,y)像素(m,n)[註:像素坐標以左上角為原點,胡余x軸向右,y軸向下]的經緯度[單位:度]分別為:
用滑鼠操作地圖放大縮褲虛滾小過程的流程圖如下:
操作過程中,程序獲取需求顯示的最大最小xy值。根據以上公式換算,請求載入相應的瓦片來顯示地圖細節。
參考:
Google Map 衛星地圖/地形圖:jpg 地圖:png
『貳』 怎麼做一個android的校園導航app功能只用輸入起始地和目的地就能在校園的地圖上顯示出最短的
用arcgis做一張底圖,使用瓦片技術。如果不依賴服務,不過你得自寫地圖拼接演算法,難度有點大