/**
* 计算两个经纬度坐标点之间的距离
* @param {Point} pointA 起点坐标点
* @param {Point} pointB 终点坐标点
* @return {Number} 计算后得出两点之间的距离
*/
function getDistance(pointA, pointB) {
let getRad = (d) => (d * Math.PI / 180.0); //经纬度转换成三角函数中度分表形式
let radLat1 = getRad(pointA.lat);
let radLat2 = getRad(pointB.lat);
let a = radLat1 - radLat2;
let b = getRad(pointA.lng) - getRad(pointB.lng);
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 * 6378137; // 地球半径(米);
return s;
}
//应用示例
let aPoint = { lng: 116.399957, lat: 40.000328 }; //起点
let bPoint = { lng: 116.511778, lat: 39.841846 }; //终点
let d = getDistance(aPoint, bPoint);
计算两个经纬度坐标点之间的距离
最新推荐文章于 2024-06-17 10:13:45 发布
本文介绍了一个JavaScript函数,用于计算两个地理坐标点之间的距离,通过经纬度转换和球面三角法计算,提供了使用示例和地球半径单位的转换。
3273

被折叠的 条评论
为什么被折叠?



