我嘗試從谷歌地圖的中心獲取10個最接近的標記,並使用Javascript中的距離對中心進行排序。所以我們可以說我有一個Javascript數組中的100個標記 - 我想在html無序列表中顯示更多關於10個閉包的信息。 我發現了一個類似的API版本2(example in version 2)的例子,但沒有爲谷歌地圖API的版本3。谷歌地圖在地圖上獲得所有標記的10個最近點
6
A
回答
16
無論發生什麼您需要計算所有距離。您可以使用簡單的方程式自行完成,也可以使用Google的幾何庫:http://code.google.com/intl/pl-PL/apis/maps/documentation/javascript/geometry.html及其函數:computeDistanceBetween()。然後將距離存儲在自定義標記屬性中,例如:
marker.distance = google.maps.geometry.spherical.computeDistanceBetween(marker.position, center.position);
然後根據需要對其進行分類。 希望它有幫助。
0
- 按接近地圖的中心點對數組進行排序。使用
sort()
。 - 用
slice()
切片前10。 - 在地圖上繪製這些圖。
+0
謝謝,我用你的解決方案的第一個答案的功能! –
+1
對於這種操作,我通常使用[underscore](http://underscore.org)庫。這種操作有很多幫手。 就我而言,我在我的標記數組上使用了'_.each'和'_.sort'。 – bzin
相關問題
- 1. 尋找更近的點在谷歌地圖上創建標記
- 2. 谷歌地圖地理編碼不標記地圖上的所有地方
- 3. 如何獲取谷歌地圖上的所有標記-v3
- 4. 點擊Google地圖上的谷歌地圖標記
- 5. 谷歌地圖在一張地圖上的兩個標記
- 6. 最近5的位置(標記)在谷歌地圖
- 7. 谷歌地圖上所有標記的繪圖圈API v3
- 8. 標記在谷歌地圖
- 9. 在谷歌地圖標記
- 10. 從谷歌地點獲取附近位置,並在結果中在谷歌地圖上添加標記
- 11. 谷歌地圖問題沒有標記出現在地圖上
- 12. 谷歌地圖不顯示地圖上的所有目標標記,只有第一個和最後一個
- 13. 谷歌地圖 - 獲取點在地圖上的點
- 14. 在谷歌地圖上添加標記
- 15. 谷歌地圖API - 捕捉標記到最近的道路
- 16. 谷歌地圖API v3,無法獲得點擊標記
- 17. 在谷歌地圖中添加標記谷歌地圖反應
- 18. Android谷歌地圖V2 - 在幾個標記上的OnInfoWindowClick點擊
- 19. 谷歌地圖api v3 - 只有一個標記的地圖
- 20. 谷歌地圖API上的所有標記3地圖打開相同的infowindow
- 21. 谷歌地圖點擊獲取標記圖標網址
- 22. 谷歌地圖 - 多標記
- 23. RxJS谷歌地圖標記
- 24. 谷歌地圖標記
- 25. 谷歌地圖標記url
- 26. 谷歌地圖 - 多標記
- 27. 谷歌地圖API標記
- 28. android谷歌地圖標記
- 29. 谷歌地圖標記infowindow
- 30. 谷歌地圖標記DROP
這就是我將如何做到這一點。對於較小的尺度,您可能可以使用平面pythagor表達式來計算距離(緯度差+經度平方差),但它並不精確,但速度可能更快。 – TMS
謝謝,這是完美的作品! –