2015-07-03 156 views
1

我有一個簡單的Google地圖。我在給定的經緯度處添加了一個標記。turf.js/turf.buffer和Google Maps API

我想使用turf.js來計算1km緩衝區,然後我可以顯示爲Google Maps多邊形。

turf.buffer()返回的路徑是一個橢圓。從標記到邊界的距離在緯度上是正確的。但縱向不足1公里。看起來投影存在問題,但是Google Maps API和turf.js文檔狀態WGS84是默認投影。

enter image description here

比賽結束使用turf.js緩衝點,折線和多邊形,所以我不能只畫一個谷歌地圖圈作爲一種解決方法很遺憾。我會考慮遷移到傳單,但是我們已經相當投入了谷歌地圖API

我創建了一個htm文件here顯示問題

回答

1

我不會堅果發展。緩衝區不是測地線,所以在赤道你得到一個圓形的緩衝區,當你向北或向南移動時,你的緩衝區被縱向壓向兩極。 turf.js團隊知道。有關完整的詳細信息,請參閱https://github.com/Turfjs/turf/issues/110

我正在尋找使用clipper.js代替。這是一個笛卡兒圖書館(2d),所以在英國我可以使用osgb eastings和northings。我還必須翻轉南北方向,因爲裁剪器假定我們正在處理標準圖形,即y軸在css中反轉,0,0是左上角。

我將使用geotools在osgb和wgs之間進行轉換。

+1

現在已經修復,正如在這篇文章中解釋的那樣https://github.com/Turfjs/turf/pull/718 –