0

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

我将如何在数学上解决这个问题?我需要转换 lat long 值还是可以直接比较?

4

1 回答 1

1

在我看来,最简单的方法是将坐标之间的距离转换为公里,然后遍历你拥有的坐标并找出你想要的坐标。这是简单的数学运算,如果您愿意,可以在此处阅读更多相关信息。

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

    }
于 2013-09-02T16:32:45.880 回答