<p class="ql-block">常用的谷歌瓦片地址</p><p class="ql-block">網上流傳的谷歌地圖瓦片地址一般為:https://mt1.google.com/vt/lyrs=s&x={x}&y={y}&z={z}</p><p class="ql-block">其中l(wèi)yrs為地圖類型, 主要有以下幾種:</p><p class="ql-block">https://mt1.google.com/vt/lyrs=s&x={x}&y={y}&z={z} // 純衛(wèi)星影像</p><p class="ql-block">https://mt1.google.com/vt/lyrs=y&x={x}&y={y}&z={z} // 純衛(wèi)星影像(帶路網和助記)</p><p class="ql-block">https://mt1.google.com/vt/lyrs=m&x={x}&y={y}&z={z} // 街道</p><p class="ql-block">https://mt1.google.com/vt/lyrs=t&x={x}&y={y}&z={z} // 地形暈染(灰度圖)</p><p class="ql-block">https://mt1.google.com/vt/lyrs=p&x={x}&y={y}&z={z} // 地形暈染(帶路網和助記)</p><p class="ql-block">https://mt1.google.com/vt/lyrs=p&x={x}&y={y}&z={z} // 路網和助記</p><p class="ql-block">眾所周知, 谷歌地圖的路網和助記使用的是火星坐標系(GCJ-02),會有一定的偏移, 而且會有行政區(qū)劃標記錯誤的問題, 所以我一般只使用不含路網和助記的純影像圖。</p><p class="ql-block">純衛(wèi)星影像圖很容易獲得, 地形暈染, 因為它默認是帶路網和助記的, 我一直以為無法獲得純地形暈染圖(谷歌的地形暈染還是很漂亮的).</p><p class="ql-block">直到某天,群友發(fā)了類似這樣一串鏈接:</p><p class="ql-block">http://mt1.google.com/vt/lyrs=p&x={x}&y={y}&z={z}&apistyle=s.e:l|p.v:off%2Cs.t:1|s.e.g|p.v:off%2Cs.t:3|s.e.g|p.v:off%2Cs.t:2|s.e.g|p.v:off%2Cs.t:4|s.e.g|p.v:off</p><p class="ql-block">通過它,就能得到谷歌純地形暈染圖了。</p><p class="ql-block">怎么實現的呢?</p><p class="ql-block">原來谷歌地圖的 XYZ 瓦片是可以通過 apistyle 自定義樣式的。</p><p class="ql-block">似乎官方也沒有文檔說明,在 stackoverflow 的這篇帖子1中,有較為詳細的介紹。</p><p class="ql-block">比如這個代碼</p><p class="ql-block">s.t:3|s.e:l|p.v:off</p><p class="ql-block">s.t:3 要素類型t, 3 表示 road 路網</p><p class="ql-block">s.e:l 元素類型e, l 表示 lables 標簽</p><p class="ql-block">p.v:off 定義樣式 , v 表示 visibility 可見性</p><p class="ql-block">連起來的意思就是 路網、路網標簽不顯示</p><p class="ql-block">通過在線工具自定義樣式</p><p class="ql-block">通過 apistyle 可以控制元素、標簽是否顯示,還可以自定義顏色。</p><p class="ql-block">谷歌有一個定制地圖樣式的網站: https://mapstyle.withgoogle.com/ ,可以可視化的自定義地圖樣式</p><p class="ql-block">定義好樣式后, 會得到一個樣式json文件, 如:</p><p class="ql-block">[</p><p class="ql-block"> {</p><p class="ql-block"> "featureType": "road",</p><p class="ql-block"> "stylers": [</p><p class="ql-block"> {</p><p class="ql-block"> "visibility": "off"</p><p class="ql-block"> }</p><p class="ql-block"> ]</p><p class="ql-block"> }</p><p class="ql-block">]</p><p class="ql-block">再通過這個工具 GMaps API Style Encoder2 ,可以將樣式 style 轉換為 apistyle 代碼, 應用到 XYZ 瓦片中。</p><p class="ql-block">簡易自定義樣式工具</p><p class="ql-block">簡單的控制標簽、行政區(qū)劃、POI、水系等是否顯示。</p><p class="ql-block">label: "s.e:l|p.v:off", // 隱藏標簽</p><p class="ql-block">administrative: "s.t:1|s.e.g|p.v:off", // 隱藏行政區(qū)劃</p><p class="ql-block">road: "s.t:3|s.e.g|p.v:off", // 隱藏路網</p><p class="ql-block">poi: "s.t:2|s.e.g|p.v:off", // 隱藏POI</p><p class="ql-block">water: "s.t:6|s.e.l|p.v:off", // 隱藏水系</p><p class="ql-block">當前瓦片地址:</p><p class="ql-block">http://mt0.google.com/vt/lyrs=p&x={x}&y={y}&z={z}&s=Ga</p><p class="ql-block">選擇底圖</p>