2017-04-02 106 views
2

如何计算Leaflet-ionic2中两个标记之间的距离?计算单张中两点之间的距离

找不到,我希望有一个算法,只要我选择一个标记,它会显示我的位置和标记之间的距离。

谢谢..

回答

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

我们正在利用我们的库time-aware-polyline此功能编码与时间戳纬度经度信息。