第一步
在app.json中设置权限,告诉小程序获取定位需要做什么
"permission": {
"scope.userLocation": {
"desc": "你的位置信息将用于小程序位置接口的效果展示"
}
},
第二步
判断用户是否授权
getLocation(){
let that = this
return new Promise((resolve,reject)=>{
// 第一次进入会有位置授权的提示
wx.authorize({
scope: 'scope.userLocation',
success() {
// 用户成功授权位置信息可以进行下一步
},
fail() {
// 用户拒绝授权位置信息,再次提示用户授权
}
})
})
},
第三步
授权成功后通过wx.getLocation获取经纬度
getLocationJW() {
wx.getLocation({
type: 'gcj02',
success(res) {
console.log("获取用户位置成功", res)
},
fail(res) {
console.log('获取用户位置失败,其他问题') },
})
},
第四步
若是未授权提示用户授权
showPermission() {
const that = this;
wx.showModal({
title: "提示",
content: "需要获取用户位置权限",
confirmText: "前往设置",
showCancel: false,
success(res) {
if (res.confirm) {
wx.openSetting({
success: (res1) => {
if (res.authSetting['scope.userLocation']) {
// 成功授权userLocationJW
that.getLocationJW()
} else {
// 用户未授权 递归调用本函数,(函数套函数)
that.showPermission()
}
},
fail: (err) => {
// 打开设置失败
}
})
}
}
})
},
拒绝页面显示处理顺序
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/b8025437a1534abfbcea442b63524a4b.png