效果图: 用户拒绝授权,将继续提醒用户继续授权,否则不能使用



注释:从今年2019起,地理位置授权 需要标明 用处,不然真机调试 显示不了授权:
在app.json中添加描述:
"permission": { "scope.userLocation": { "desc": "你的位置信息将用于定位" } }, "sitemapLocation": "sitemap.json"
wx.getLocation({ success(res) { that.setData({ currentLon: res.longitude, currentLat: res.latitude, }); }, fail: function () { wx.getSetting({ success: function (res) { var statu = res.authSetting; if (!statu['scope.userLocation']) { wx.showModal({ title: '是否授权当前位置', content: '需要获取您的地理位置,请确认授权,否则地图功能将无法使用', success: function (tip) { console.log(1) if (tip.confirm) { console.log(1) wx.openSetting({ success: function (data) { if (data.authSetting["scope.userLocation"] === true) { wx.showToast({ title: '授权成功', icon: 'success', duration: 1000 }) wx.getLocation({ success(res) { that.setData({ currentLon: res.longitude, currentLat: res.latitude, }); }, }); } else { wx.showToast({ title: '授权失败', icon: 'success', duration: 1000 }) wx.navigateBack({ delta: -1 }); } } }) }else{ wx.navigateBack({ delta: -1 }); } } }) } }, fail: function (res) { wx.showToast({ title: '调用授权窗口失败', icon: 'success', duration: 1000 }) wx.navigateBack({ delta: -1 }); } }) } })