uniapp获取定位位置信息
时间: 2023-09-06 14:14:17 浏览: 136
uniapp不使用第三方获取位置
要在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。
阅读全文