uniapp计算两个经纬度之间的距离
时间: 2023-08-11 21:02:10 浏览: 335
在uniapp中,可以使用Haversine公式来计算两个经纬度之间的距离。Haversine公式是一种计算球面距离的方法,它基于地球上两点之间的经纬度计算出距离。
首先,需要将经纬度转换为弧度,因为Haversine公式中需要使用弧度来进行计算。可以使用以下代码将经纬度转换为弧度:
```javascript
function toRadian(degree) {
return degree * Math.PI / 180;
}
let lat1 = toRadian(latitude1);
let lon1 = toRadian(longitude1);
let lat2 = toRadian(latitude2);
let lon2 = toRadian(longitude2);
```
接下来,可以使用Haversine公式计算球面距离,使用以下代码实现:
```javascript
const R = 6371; // 地球半径,单位为千米
let dLat = lat2 - lat1;
let dLon = lon2 - lon1;
let a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
Math.cos(lat1) * Math.cos(lat2) *
Math.sin(dLon / 2) * Math.sin(dLon / 2);
let c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
let distance = R * c; // 距离,单位为千米
```
最后,可以使用uniapp中的弹窗或者控制台打印将距离显示出来,例如:
```javascript
uni.showModal({
title: '距离',
content: '两地距离为' + distance + '千米'
});
```
这样就可以在uniapp中计算并显示两个经纬度之间的距离了。注意,以上代码仅提供了基本的思路,具体实现还需要根据实际情况进行适当的修改和完善。
阅读全文