各種地圖下載器都要花錢,無奈太窮只好本身寫一個。google
瓦片地址
https://mts1.google.com/vt/lyrs={type}&gl=CN&hl={language}&x={x}&y={y}&z={z}code
lyrs = 類型圖片
gl = 座標系get
hl = 地圖文字語言it
Google Map採用蒙卡託投影(Mercator),記住了就行,由於使用地圖的時候須要用到。class
假設某點經度=lng,緯度=lat,縮放級別爲zoom,那麼對應的瓦片座標爲:map
// 全球地圖瓦片總行數、總列數 n = 2 ^ zoom; // 當前座標瓦片橫座標x // 橫座標計算比較簡單,-180°爲0,+180°爲n,須要向下取整來包含當前的座標 x = math.floor(((lng + 180.0) / 360.0) * n); // 當前座標瓦片縱座標y // 看不懂...大概意思是-90°~90°,不平均分n份 tan = math.tan(toRadians(lat)); sec = math.sec(toRadians(lat)); y = math.floor((1 - (math.log(tan + sec) / math.pi)) / 2 * n);
下載地圖時,可取一個矩形區域2個對角經緯度座標,根據以上公式計算瓦片座標,訪問瓦片下載地址進行下載保存圖片。下載
瓦片橫縱座標範圍是 0 ~ 2^zoom,1級1x1,2級2x2,3級4x4,……地圖
衛星圖,路線圖建議分別下載,在地圖顯示控件中分層顯示,這樣能夠選擇性展現不一樣內容。英文