データベースが HTML ストレージを使用しているように、PhoneGap アプリを作成しました。緯度と経度を含む場所の表があります。次に、ユーザーの現在の場所を取得し、最も近い 3 つの場所を見つける必要があります。
これを数学的にどのように行うのでしょうか?緯度経度の値を変換する必要がありますか、それとも直接比較できますか?
私の意見では、これを行う最も簡単な方法は、座標間の距離を km に変換してから、持っている座標をループして、必要な座標を見つけることです。簡単な計算です。必要に応じて、ここで詳細を読むことができます。
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);
}