时间:2021-05-18
这两天在做小程序调取地图的时候遇到一个问题,如果用户第一次拒绝了位置权限请求。那么就不会再次唤起授权弹出。需要我们引导用户去开启。
具体做法如下。 在 aap.json中加入授权配置
"permission": { "scope.userLocation": { "desc": "你的位置信息将用于小程序位置接口的效果展示" } }在 page页面中使用,需要有几个注意的地方,初次使用的时候,去申请权限。这里我是放在onShow 方法里面。
onShow: function () { //初始获取定位权限 wx.authorize({ scope: 'scope.userLocation', success: (res) => { }, }) },然后在调用地图地位。或者获取用户权限的函数去判断是否有定位权限,如果没有那么引导用户开启权限。 如下:我有一个Input去触发选择地图事件。
<input bindfocus="openMap" value='{{address}}' placeholder="点击选择详细地址"></input>事件处理
openMap:function(e){ var that = this wx.getSetting({ success(res){ //这里判断是否有地位权限 if (!res.authSetting['scope.userLocation']) { wx.showModal({ title: '提示', content: '请求获取位置权限', success:function(res){ if(res.confirm==false){ return false; } wx.openSetting({ success(res) { //如果再次拒绝则返回页面并提示 if (!res.authSetting['scope.userLocation']) { wx.showToast({ title: '此功能需获取位置信息,请重新设置', duration: 3000, icon: 'none' }) } else { //允许授权,调用地图 that.chooseMap() } } }) } }) } else { //如果有定位权限,调用地图 that.chooseMap() } } }) }, chooseMap(){ var that = this wx.chooseLocation({ success: function (res) { that.setData({ address: res.address, latitude: res.latitude, longitude: res.longitude }) }, fail: function (res) { console.log(res) } }) },总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在本文微信小程序--获取用户地理位置名称(无须用户授权)之前需要先看看微信小程序-获取用户session_key,openid,unionid-后端为nodej
首先,小程序是基于微信平台开发的,坐拥微信9亿的用户流量。那么微信小程序可以通过哪些方式为企业带来流量?微信小程序能够搜索附近的小程序,并且通过地理位置让别人搜
微信小程序怎么赚钱?微信小程序赚钱的方法是什么?微信小程序上线以来,越来越多的人在做微信小程序了,大部分的人在利用微信小程序赚钱,那么微信小程序怎么赚钱呢?
前言为了方便小程序应用使用微信登录态进行授权登录,微信小程序提供了登录授权的开放接口。乍一看文档,感觉文档上讲的非常有道理,但是实现起来又真的是摸不着头脑,不知
微信小程序获取用户当前位置有三个方式:1.wx.getLocation(多与wx.openLocation一起用) 获取当前的精度、纬度、速度。不需要授权。当