使用 Haversine 公式来计算两个经纬度之间的距离。以下是一个简单的 JavaScript 函数,用于计算两个坐标点之间的距离:
function getDistance(lat1, lon1, lat2, lon2) {
// 将角度转换为弧度
function toRadians(degrees) {
return degrees * Math.PI / 180;
}
// 使用 Haversine 公式计算距离
const R = 6371; // 地球半径,单位为千米
const dLat = toRadians(lat2 - lat1);
const dLon = toRadians(lon2 - lon1);
const a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
Math.cos(toRadians(lat1)) * Math.cos(toRadians(lat2)) *
Math.sin(dLon / 2) * Math.sin(dLon / 2);
const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
const distance = R * c; // 距离,单位为千米
return distance;
}
// 示例
const distance = getDistance(37.7749, -122.4194, 34.0522, -118.2437);
console.log(distance); // 输出两个坐标点之间的距离
这个函数接受四个参数,分别是两个坐标点的纬度和经度。你可以将需要计算距离的坐标点传递给这个函数,并得到它们之间的距离。这个示例使用的是地球平均半径,如果需要更精确的结果,可以考虑使用更准确的地球半径数值。