PhoneGap Lat Long Distance计算

时间:2013-09-02 16:05:57

标签: html5 sqlite cordova

我创建了一个PhoneGap应用程序,因此它的数据库正在使用HTML存储。我有一张位置表,其中包括lat和long。然后,我有用户当前位置,需要找到最近的3个位置。

我将如何以数学方式进行此操作?我需要转换lat long值还是可以直接比较?

1 个答案:

答案 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); 

    }