百度地圖開發,計算兩個點間直線距離js方法(忽略坐標系誤差,同樣適用於其他地圖)


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);
 
原文地址:  https://www.opengps.cn/Blog/View.aspx?id=35 文章的更新編輯依此鏈接為准。歡迎關注源站原創文章!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM