js 计算两个经纬度之间距离

2021-07-13  本文已影响0人  子夜照弦歌

借鉴文章

注:原文写法返回的距离单位是KM
vue写法

getDistance(latlng1, latlng2) {
    let lat1 = latlng1.latitude;
    let lng1 = latlng1.longitude;
    let lat2 = latlng2.latitude;
    let lng2 = latlng2.longitude;
    var radLat1 = (lat1 * Math.PI) / 180.0;
    var radLat2 = (lat2 * Math.PI) / 180.0;
    var a = radLat1 - radLat2;
    var b = (lng1 * Math.PI) / 180.0 - (lng2 * Math.PI) / 180.0;
    var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
    s = s * 6378.137; // EARTH_RADIUS;
    s = Math.round(s * 10000) / 10000;
    return s * 1000;
}
上一篇下一篇

猜你喜欢

热点阅读