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