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 );(單位 米)
 
本身去打印看看吧,備註:傳值是兩個點的經緯度 
相關文章
相關標籤/搜索