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

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

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在uniapp获取定位位置信息,可以使用uniapp自带的API,即`uni.getLocation()`方法。该方法可以获取当前设备的地理位置信息。 使用该方法需要注意以下几点: 1. 首先,需要在`manifest.json`文件中添加对应的权限,如下所示: ```json { "permissions": { "scope.userLocation": { "desc": "获取用户地理位置信息" } } } ``` 2. 调用`uni.getLocation()`方法来获取地理位置信息。该方法接受一个对象参数,可以设置以下属性: - `type`: 定位方式,可选值有`wgs84`(默认)和`gcj02`(国测局加密经纬度坐标) - `altitude`: 是否获取高度信息,默认为`false` - `geocode`: 是否需要逆地址解析,默认为`false`,即不需要获取详细地址信息 - `success`: 成功回调函数 - `fail`: 失败回调函数 - `complete`: 完成回调函数 示例代码如下: ```javascript uni.getLocation({ type: 'gcj02', altitude: true, geocode: true, success: (res) => { console.log(res); }, fail: (err) => { console.log(err); } }); ``` 其中,`res`对象包含以下属性: - `latitude`: 纬度,浮点数,范围为-90~90,负数表示南纬 - `longitude`: 经度,浮点数,范围为-180~180,负数表示西经 - `altitude`: 高度,单位m,只有当`altitude`为`true`时才有 - `horizontalAccuracy`: 水平精度,单位m - `verticalAccuracy`: 垂直精度,单位m,只有当`altitude`为`true`时才有 - `speed`: 速度,单位m/s - `accuracy`: 位置的精度,单位m - `address`: 详细地址信息,只有当`geocode`为`true`时才有 - `errMsg`: 错误信息,调用成功时为`"getLocation: ok"`,调用失败时为具体错误信息 注意:在HbuilderX中需要在manifest.json中添加如下代码: ```json "mp-weixin":{ "appid":"wx*****", "miniprogramRoot": "./", "permission": { "scope.userLocation": { "desc": "获取用户地理位置信息" } } } ``` 其中"wx*****"是你的微信小程序的AppID。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值