uniapp小程序经纬度判断距离
时间: 2023-11-29 10:06:32 浏览: 225
main为主程序 通过两点的经纬度信息计算距离及相对方位角(正北角)
5星 · 资源好评率100%
在Uniapp小程序中,可以使用uni.getLocation获取当前用户的经纬度,然后通过计算两点间距离的公式来判断距离。
计算两点间距离的公式为:
```
function getDistance(lat1, lng1, lat2, lng2) {
var radLat1 = lat1 * Math.PI / 180.0;
var radLat2 = lat2 * Math.PI / 180.0;
var a = radLat1 - radLat2;
var b = lng1 * Math.PI / 180.0 - lng2 * Math.PI / 180.0;
var 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 * 6378.137; // 地球半径,单位千米
s = Math.round(s * 10000) / 10000; // 保留两位小数
return s;
}
```
其中,lat1和lng1是当前用户的经纬度,lat2和lng2是另一个点的经纬度。最终返回的s即为两点之间的距离,单位为千米。
示例代码:
```
uni.getLocation({
type: 'gcj02', // 获取经纬度的类型
success: function (res) {
var lat1 = res.latitude;
var lng1 = res.longitude;
var lat2 = 31.22; // 另一个点的经纬度
var lng2 = 121.48;
var distance = getDistance(lat1, lng1, lat2, lng2);
console.log('距离为:' + distance + '千米');
}
});
```
阅读全文