4
A
回答
4
從this site,您可以使用haversine公式:
a = sin²(Δφ/2) + cos(φ1).cos(φ2).sin²(Δλ/2)
c = 2.atan2(√a, √(1−a))
d = R.c
這可以在Javascript實現:
var R = 6371; // km
var dLat = (lat2-lat1).toRad();
var dLon = (lon2-lon1).toRad();
var lat1 = lat1.toRad();
var lat2 = lat2.toRad();
var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.sin(dLon/2) * Math.sin(dLon/2) * Math.cos(lat1) * Math.cos(lat2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
var d = R * c;
然後,只需做到這一點對所有的城市使用一個循環,並找到最小的。
+1
非常感謝!我需要添加:'Number.prototype.toRad = function(){return this * Math.PI/180; }'在這裏提到:http://stackoverflow.com/questions/6889922/how-to-deal-with-brng-torad-is-not-a-function – rttmax
相關問題
- 1. 使用經度和緯度查找使用MySQL最接近的10個城市?
- 2. 過濾城市的經緯度與其他城市的距離(經緯度)?
- 3. 與最接近的經度和緯度
- 4. 按城市或經度和緯度
- 5. Javascript:使用緯度/經度查找城市?
- 6. 使用經度和緯度查找城市和州名稱
- 7. 匹配最接近的經度/緯度
- 8. 根據經緯度尋找最近的城市的算法解決方案
- 9. 如何獲取城市的經緯度?
- 10. 如何通過android中的經度和緯度查找城市溫度?
- 11. 如何從經度和緯度找到城市?
- 12. 從城市名稱獲取經緯度
- 13. 從經緯度獲取城市名稱
- 14. 如何從城市名稱中查找經緯度
- 15. 在數組中找到最接近的經度和緯度?
- 16. MarkClusterer地圖問題:找到最接近的經度/緯度
- 17. 近緯度經緯度
- 18. 查找最接近的郵政編碼,經緯度在MySQL
- 19. 如何使用緯度和經度查找最近的商店?
- 20. 查找25緯度和經度表的最近地址
- 21. 查找離緯度/經度座標最近的5個車站
- 22. 通過緯度和經度查找最近的地方
- 23. 獲得最近的緯度和經度
- 24. JSON經度緯度最近的位置
- 25. 在緯度/經度列表中找到緯度和經度的最接近的匹配
- 26. 查找經度和緯度
- 27. 如何在JavaScript中找到經緯度的城市名稱?
- 28. 緯度和經度放置在.NET中的名稱或城市
- 29. 如何經度閱讀國家城市緯度的地圖API
- 30. 獲取特定城市的緯度和經度android
我不知道從哪裏開始...... – rttmax