【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,'位置信息')
			}
})

这个方法还是不能获取到城市编码,只能获得区的编码 (尊嘟假嘟?)可以根据需求进行更改,我的项目到这就可以了