js计算地球(地图)上两点的直线距离

//计算两点位置距离
  getDistance: function (lat1, lng1, lat2, lng2) {
    lat1 = lat1 || 0;
    lng1 = lng1 || 0;
    lat2 = lat2 || 0;
    lng2 = lng2 || 0;
 
    var rad1 = lat1 * Math.PI / 180.0;
    var rad2 = lat2 * Math.PI / 180.0;
    var a = rad1 - rad2;
    var b = lng1 * Math.PI / 180.0 - lng2 * Math.PI / 180.0;
 
    var r = 6378137;
    var distance = r * 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(rad1) * Math.cos(rad2) * Math.pow(Math.sin(b / 2), 2)));
 
    /*if (distance > 1000){
      distance = Math.round(distance / 1000);
    }*/
 
    return distance;
  }
View Code
 
var distance  = getDistance(31.11325, 121.38206, 39.98406, 116.30752);
 
console.log( distance );(单位 米)
 
自己去打印看看吧,备注:传值是两个点的经纬度 
posted @ 2018-12-04 16:13  lijuntao  阅读(948)  评论(0编辑  收藏  举报
TOP