2017-04-02 14 views
2

リーフレット-ionic2の2つのマーカー間の距離をどのように計算しますか?リーフレットの2点間の距離を計算する

私は、マーカーを選択するとすぐに行うアルゴリズムがあり、私の位置とマーカーの距離を表示してくれることを願っています。

ありがとう

答えて

2

この機能を使用すると、2つの位置の間の距離を見つけることができます。

function getDistance(origin, destination) { 
    // return distance in meters 
    var lon1 = toRadian(origin[1]), 
     lat1 = toRadian(origin[0]), 
     lon2 = toRadian(destination[1]), 
     lat2 = toRadian(destination[0]); 

    var deltaLat = lat2 - lat1; 
    var deltaLon = lon2 - lon1; 

    var a = Math.pow(Math.sin(deltaLat/2), 2) + Math.cos(lat1) * Math.cos(lat2) * Math.pow(Math.sin(deltaLon/2), 2); 
    var c = 2 * Math.asin(Math.sqrt(a)); 
    var EARTH_RADIUS = 6371; 
    return c * EARTH_RADIUS * 1000; 
} 
function toRadian(degree) { 
    return degree*Math.PI/180; 
} 
var distance = getDistance([lat1, lng2], [lat2, lng2]) 

我々は、タイムスタンプと緯度LNG情報をエンコードするために私たちの図書館time-aware-polylineでこの機能を使用しています。

関連する問題