我创建了一个 PhoneGap 应用程序,因此它的数据库使用 HTML 存储。我有一张位置表,其中包括它们的纬度和经度。然后我有用户当前位置,需要找到最近的 3 个位置。
我将如何在数学上解决这个问题?我需要转换 lat long 值还是可以直接比较?
在我看来,最简单的方法是将坐标之间的距离转换为公里,然后遍历你拥有的坐标并找出你想要的坐标。这是简单的数学运算,如果您愿意,可以在此处阅读更多相关信息。
getDistanceBetweenCoordinates:function(lat1,lng1,lat2,lng2){
var distance = (3958*3.1415926*Math.sqrt((lat2-lat1)*(lat2-lat1) + Math.cos(lat2/57.29578)*Math.cos(lat1/57.29578)*(lng2-lng1)*(lng2-lng1))/180);
//console.log("distance:" + distance);
return Number(distance);
}