我创建了一个PhoneGap应用程序,因此它的数据库正在使用HTML存储。我有一张位置表,其中包括lat和long。然后,我有用户当前位置,需要找到最近的3个位置。
我将如何以数学方式进行此操作?我需要转换lat long值还是可以直接比较?
答案 0 :(得分:1)
在我看来,最简单的方法是将坐标之间的距离转换为公里,然后循环遍历坐标,找出你想要的坐标。这是简单的数学,如果你愿意,你可以阅读更多关于它的here。
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);
}