2017-08-30 22 views
-1

私の現在の緯度&経度を他の緯度&経度と比較して、私に近い場所に見つけた どのように計算できますか?緯度と経度の近い場所

my location : 
51.510836, -0.127579 

another : 

51.547385, 0.020022 
51.482876, -0.036542 
51.511894, -0.248477 
+0

あなたの試したコードを投稿してください。 – Priyal

+0

@Priyal私はどのように私は近くの場所が見つかりましたが、私の言語はPHPまたはjavascript私はアルゴリズムを計算したい知っていない –

答えて

3

私は を理解するとして、あなたは問題が緯度長い

を経由して、最も近い位置を取得することであり、あなたがそうそして一つ一つが、これらすべてを比較すれば、あなたの場所

から最も近いどちら計算します3緯度、あなたの位置の緯度が長い長い。 最も近い場所は、km単位で最も低い距離です。 これを試してください。 LAT1、lon1はあなたの場所とLAT2、lon2ある

function getDistanceFromLatLonInKm(lat1,lon1,lat2,lon2) { 
    var R = 6371; // Radius of the earth in km 
    var dLat = deg2rad(lat2-lat1); // deg2rad below 
    var dLon = deg2rad(lon2-lon1); 
    var a = 
    Math.sin(dLat/2) * Math.sin(dLat/2) + 
    Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) * 
    Math.sin(dLon/2) * Math.sin(dLon/2) 
    ; 
    var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); 
    var d = R * c; // Distance in km 
    return d; 
} 

function deg2rad(deg) { 
    return deg * (Math.PI/180) 
} 

は、あなたがしたいそれらの点は、単にループにそれを適用し、比較した場所を通過し、最終的に最も低いの距離があなたの答えである、コンペアです。

関連する問題