记录一下微信小程序地理位置授权
微信小程序在2022年7月14号开始改变了地理位置授权
微信原话:
requiredPrivateInfos
自 2022 年 7 月 14 日后发布的小程序,使用以下8个地理位置相关接口时,需要声明该字段,否则将无法正常使用。2022 年 7 月 14 日前发布的小程序不受影响。
申明需要使用的地理位置相关接口,类型为数组。目前支持以下项目:
- getFuzzyLocation: 获取模糊地理位置
- getLocation: 获取精确地理位置
- onLocationChange: 监听实时地理位置变化事件
- startLocationUpdate: 接收位置消息(前台)
- startLocationUpdateBackground: 接收位置消息(前后台)
- chooseLocation: 打开地图选择位置
- choosePoi: 打开POI列表选择位置
- chooseAddress: 获取用户地址信息
就是如果我们是有了上面这几个微信的接口就需要在app.json文件中声明requiredPrivateInfos方法
"requiredPrivateInfos": [
"getLocation",
"onLocationChange",
"startLocationUpdateBackground"
"chooseAddress"
]
注意:使用上面这几个接口,我们还需要在微信小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。
做完上面这些,还需要在app.json中配置permission
"permission": {
"scope.userLocation": {
"desc": "你的位置信息将用于小程序位置接口的效果展示" // 高速公路行驶持续后台定位
}
}
以上步骤好了我们就可以使用位置接口了
我使用其中一个作为例子
initLocation(call) { //定位
wx.getLocation({
type: 'gcj02',
isHighAccuracy: true,
success: async (res) => {
//成功获取定位信息并回调
call(res)
},
fail: (err) => {
//授权失败或用户拒绝授权
//弹出提示文字用户如果不授权用户信息将无法使用小程序
wx.showModal({
title: '请允许小程序获取您的地理位置信息',
showCancel: true,
cancelText: '取消',
confirmText: '确定',
success: (result) => {
if(result.confirm){
wx.openSetting()//打开权限设置页面
}
}
});
}
})
},
一个简单的地理位置授权就做好了
附:微信地理位置授权相关文档