计算两个经纬度距离

/**计算两个经纬度距离
* @param lat1 第一个纬度
* @param log1 第一个经度
* @param lat2 第二个维度
* @param log2 第二个经度
* @return 两点距离(单位: m)
*/
getDistance(lat1, lon1, lat2, lon2) {
   var radLat1 = (lat1 * Math.PI) / 180; //将角度换算为弧度
   var radLat2 = (lat2 * Math.PI) / 180; //将角度换算为弧度
   var a = radLat1 - radLat2;
   var b = (lon1 * Math.PI) / 180 - (lon2 * Math.PI) / 180;
   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 * 6378137.0; // 取WGS84标准参考椭球中的地球长半径(单位:m)
   // s = Math.round(s * 10000) / 10000; //两点之间距离(保留四位)
   return s; //(单位:m)
}

作者:爆竹
链接:https://juejin.cn/post/7176888985573130301

  

posted @ 2025-04-16 16:16  热心市民~菜先生  阅读(20)  评论(0)    收藏  举报