小程序----选择地理位置 ( wx.chooseLocation ) 和 获取地理位置 (wx.getSetting)
Posted 大熊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小程序----选择地理位置 ( wx.chooseLocation ) 和 获取地理位置 (wx.getSetting)相关的知识,希望对你有一定的参考价值。
问题来了:假如我第一次使用wx.chooseLocation()获取权限被拒绝,然后使用wx.getSetting()来重新获取权限该怎么做呢?
思路:wx.chooseLocation()有fail方法,如果第一次拒绝之后,以后调用选择地图都是触发的这个,那么我可以在fail方法里面,使用wx.getSetting(),这样就每次都能判断是否已经给与了权限了。
wx.chooseLocation({
success(res) {
console.log(res)
that.setData({
// hasLocation: true,
location: formatLocation(res.longitude, res.latitude),
address: res.address
})
},
fail: function () {
wx.getSetting({
success: function (res) {
var statu = res.authSetting;
if (!statu[\'scope.userLocation\']) {
wx.showModal({
title: \'是否授权当前位置\',
content: \'需要获取您的地理位置,请确认授权,否则地图功能将无法使用\',
success: function (tip) {
if (tip.confirm) {
wx.openSetting({
success: function (data) {
if (data.authSetting["scope.userLocation"] === true) {
wx.showToast({
title: \'授权成功\',
icon: \'success\',
duration: 1000
})
//授权成功之后,再调用chooseLocation选择地方
wx.chooseLocation({
success: function (res) {
obj.setData({
addr: res.address
})
},
})
} else {
wx.showToast({
title: \'授权失败\',
icon: \'success\',
duration: 1000
})
}
}
})
}
}
})
}
},
fail: function (res) {
wx.showToast({
title: \'调用授权窗口失败\',
icon: \'success\',
duration: 1000
})
}
})
}
})
效果图:
本文转载他人链接: https://www.cnblogs.com/zjjDaily/p/9020921.html
以上是关于小程序----选择地理位置 ( wx.chooseLocation ) 和 获取地理位置 (wx.getSetting)的主要内容,如果未能解决你的问题,请参考以下文章