最近在百度地圖上做基於位置的推薦服務,需要用到 geohash 和相關的可視化工具。由於不同地圖廠商採用的座標系不同,同一個位置在不同地圖上的座標會出現差異,算出來的 geohash 也會不同。我在網上並沒有找到可直接用於百度地圖的 geohash 可視化工具,所以就自己造了一個小玩具:baidumap-geohash-explorer。
百度地圖 geohash 可視化工具
自己造的百度地圖 geohash 可視化工具主要參考了 https://www.movable-type.co.u... 的設計和網頁代碼,主要功能有:
- 根據輸入的經度、緯度和 geohash 長度,自動計算出 geohash
- 根據輸入的 geohash,自動計算出對應的經度、緯度和 geohash 長度
- 自動在百度地圖上標註出 geohash 所表示的區域
- 支持對相鄰 8 個區域進行標註,方便觀察 geohash 的變化規律
- 單擊拾取座標
整個項目的代碼也非常簡單,一個網頁就搞定了,源碼詳見 Github。克隆代碼後,替換 AK,雙擊瀏覽器打開即可使用。
其它 Geohash 可視化工具
- https://geohash.softeng.co/: 僅支持 OpenStreetMap。它很好地展示了 geohash 每多一位,就會將原來的格子劃分為 32 個更小的格子的特點。
- https://chrishewett.com/blog/...:僅支持 OpenStreetMap,能夠根據縮放情況自動選擇合適級別的 geohash 進行展示。
- https://www.movable-type.co.u...:僅支持 Google Maps。不僅可以根據經度、緯度和期望的 geohash 長度自動算出對應的 geohash 值並展示,還能根據 geohash 解析出其對應的經度、緯度。
- https://ryan-miao.gitee.io/ge...:僅支持高德地圖,鼠標點擊時會自動繪製 geohash 格子。還支持顯示相鄰的 8 個區域。
- https://bhargavchippada.githu...:支持 Google Maps 和 MapBox,可以同時接收多個 geohash,並將它們顯示在地圖上。