百度地圖 - 兩點座標計算 - JavaScript
阿新 • • 發佈:2018-11-03
/** * 經緯度轉換成三角函式中度分表形式。 * @param {*} d 座標 */ function Rad(d) { return d * Math.PI / 180.0 } /** * 計算兩個座標之間的距離 * @param lng1 座標點1的經度 * @param lat1 座標點1的緯度 * @param lng2 座標點2的經度 * @param lat2 座標點2的緯度 * @return float */ function GetDistance(lng1, lat1, lng2, lat2) { let radLat1 = Rad(lat1); let radLat2 = Rad(lat2); let a = radLat1 - radLat2; let b = Rad(lng1) - Rad(lng2); let 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; }