js计算两个经纬度之间的距离
时间: 2023-07-23 13:06:28 浏览: 47
可以使用 Haversine 公式来计算两个经纬度之间的距离。以下是 JavaScript 实现:
```javascript
function distance(lat1, lon1, lat2, lon2) {
const R = 6371; // 地球半径(千米)
const dLat = ((lat2 - lat1) * Math.PI) / 180;
const dLon = ((lon2 - lon1) * Math.PI) / 180;
const a =
Math.sin(dLat / 2) * Math.sin(dLat / 2) +
Math.cos((lat1 * Math.PI) / 180) *
Math.cos((lat2 * Math.PI) / 180) *
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.toFixed(2); // 保留两位小数
}
// 示例
console.log(distance(39.9087, 116.3975, 31.2233, 121.4554)); // 输出:1066.66
```
其中,`lat1` 和 `lon1` 表示第一个点的纬度和经度,`lat2` 和 `lon2` 表示第二个点的纬度和经度,函数返回两个点之间的距离(单位为千米)。