uni.chooseLocation({
success: (res) => {
console.log('success')
},
fail: () => {
uni.getSetting({
success: (setting) => {
if (!setting.authSetting['scope.userLocation']) {
uni.showModal({
title: '是否授权当前位置',
content: '需要获取您的地理位置,请确认授权,否则地图功能将无法使用',
success: (tip) => {
if (tip.confirm) {
uni.openSetting({
success: (data) => {
if (data.authSetting['scope.userLocation'] === true) {
uni.showToast({
title: '授权成功',
icon: 'success',
duration: 1000,
})
//授权成功之后,再调用chooseLocation选择地方
uni.chooseLocation({
success: (res) => {
console.log('success')
},
})
} else {
uni.showToast({
title: '授权失败',
icon: 'success',
duration: 1000,
})
}
},
})
}
},
})
}
},
fail: () => {
uni.showToast({
title: '调用授权窗口失败',
icon: 'success',
duration: 1000,
})
},
})
},
})
上面这个功能
在用户第一次受权通过时,可以正常使用
在用户第一次受权拒绝时,第二次通过设置开启受权时,就打不开地图选择位置,需要重新进入小程序才可以正常使用
没授权会限制,10s后才能打开