📅  最后修改于: 2023-12-03 14:43:36.279000             🧑  作者: Mango
在进行地图开发或其他需要计算距离的场景下,计算两个坐标之间的距离是非常重要的。在 JavaScript 中,可以使用数学公式来计算两个经纬度坐标之间的距离。
首先,通过经纬度计算地球上两点之间的距离需要用到大圆球面积公式,也叫做Haversine公式。
以下是计算公式:
其中,
以下为示例代码,通过 getDistance
函数来计算两个经纬度坐标之间的距离。
function getDistance(lat1, lon1, lat2, lon2) {
const R = 6371; // 地球半径,单位为千米
const toRadians = (degree) => degree * Math.PI / 180; // 角度转弧度
const deltaLat = toRadians(lat2 - lat1); // 纬度差
const deltaLon = toRadians(lon2 - lon1); // 经度差
const a = Math.sin(deltaLat / 2) ** 2 +
Math.cos(toRadians(lat1)) * Math.cos(toRadians(lat2)) *
Math.sin(deltaLon / 2) ** 2;
const c = 2 * Math.asin(Math.sqrt(a));
const distance = R * c; // 距离,单位为千米
return distance;
}
通过 Haversine 公式,使用 JavaScript 就可以轻松地计算两个经纬度坐标之间的距离。