【uniapp 定位获取详细位置】
在 uniapp 中获取定位信息方法,具体如下:
1. uni.getLocation 方法(都可):
uni.getLocation({
type: 'gcj02',
success: function(res) {
console.log('经度:' + res.longitude)
console.log('纬度:' + res.latitude)
},
fail: function(res) {
console.log('定位失败')
}
})
在 getLocation 方法中,需要设置 type 参数为定位类型,success 回调函数中将返回经纬度信息,fail 回调函数中将返回定位失败信息。
注意:在使用 getLocation 方法前需要先在 manifest.json 中配置相应的权限,以授权应用程序获取用户位置信息。
2.plus.geolocation.getCurrentPosition 方法(app)
plus.geolocation.getCurrentPosition((position) => {
console.log(`经度${position.coords.longitude},纬度${position.coords.latitude}`);
}, (error) => {
console.log(`获取位置信息失败:${error.message}`);
});
逆地理编码(获取省市区,详细地理位置)
这两个就够获取定位的经纬度了,但是这只是获得了经纬度,并没有具体中文的位置
所以还需要转一下,这里我使用高德地图API的 逆地理编码,使用此api需要去高德开放平台申请key
获取地理位置代码如下:
uni.request({
url: `https://restapi.amap.com/v3/geocode/regeo?key=你的key&location=${经度},${纬度}`,
method: 'GET',
success: (res) => {
console.log(res.data.regeocode,'位置信息')
}
})
这个方法还是不能获取到城市编码,只能获得区的编码 (尊嘟假嘟?)可以根据需求进行更改,我的项目到这就可以了