Baidu mapa de desarrollo, el cálculo de la distancia en línea recta entre dos puntos método js (ignorando error coordenadas, igualmente aplicable a otro mapa)

function Rad(d) {

     return  d * Math.PI / 180.0;  //经纬度转换成三角函数中度分表形式。
}
//计算距离,参数分别为第一点的纬度,经度;第二点的纬度,经度
function  GetDistance(lat1, lng1, lat2, lng2) {
     var  radLat1 = Rad(lat1);
     var  radLat2 = Rad(lat2);
     var  a = radLat1 - radLat2;
     var  b = Rad(lng1) - Rad(lng2);
     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;  // 地球半径,千米;
     s = Math.round(s * 10000) / 10000;  //输出为公里
     s = Math.round(s * 1000) / 1;  //单位修改为米,取整
     //s=s.toFixed(4);
     return  s;
}
 
//使用方法
var  pointA =  new  BMap.Point(120.1, 36.1);
var  pointB =  new  BMap.Point(120.2, 36.);
 
var  mile = GetDistance(pointA.lat, pointA.lng, pointB.lat, pointB.lng);
 
Dirección original:  https://www.opengps.cn/Blog/View.aspx?id=35  actualización editar artículos, etc. enlace prevalecen. Bienvenido a la atención el artículo de la estación fuente original!

Supongo que te gusta

Origin www.cnblogs.com/show58/p/12551517.html
Recomendado
Clasificación