微信小程序位置授权处理方法
作者:daisy 发布时间:2024-06-10 08:21:05
标签:微信小程序,位置,授权
这两天在做小程序调取地图的时候遇到一个问题,如果用户第一次拒绝了位置权限请求。那么就不会再次唤起授权弹出。需要我们引导用户去开启。
具体做法如下。 在 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)
}
})
},
来源:https://www.daisc.net/show/Small-Program-Location-Authorization-Processing.html
0
投稿
猜你喜欢
- 这个效果本身难度不大,主要在程序结构和扩展中下了些功夫,务求用起来更方便,能用在更多的地方。程序特点 1,同一个提示框用在多个触发元素时,只
- 如下是简单cookie操作,当前仅限前端实例,具体内容如下要注意的有两点:1、cookie内容存贮的名称2、删除cookie是通过设置过期为
- 系统环境:centos7.4一,查看是否安装有数据库:yum list installed | grep mysqld/mariadb二,安
- 单体最佳实践的由来对于很多初创公司来说,业务的早期我们更应该关注于业务价值的交付,并且此时用户体量也很小,QPS也非常低,我们应该使用更简单
- 代码如下:<%@ Language=VBScript %> <% Dim
- 简单说明这个算法主要工作是测量不同特征值之间的距离,有个这个距离,就可以进行分类了。简称kNN。已知:训练集,以及每个训练集的标签。接下来:
- 写入Excel中后有显示第一列客户款号总库存这些,开始写在第12行第一列开始写入,一行写入5个,然后再隔12行,再写入下边的数据,图片需要对
- 以住做B/S的系统都是以IE浏览器为主,基本上忽略其他的浏览器,这次决定来个大兼容,但在实现背景渐变上就是个 * 烦。本想用图片来实现的,但要
- 直接上代码import pygameimport randomdef main(): # 初始化pygame &n
- 前言本方案只适应于小的项目、项目未上线或者紧急情况下可采用这种方式,一旦开启慢日志查询会增加数据库的压力,所以一般采用后台对数据操作时间写入
- 一、List移除某个值remove以Python 3.x版本为主remove:列表值移除方法1、函数编号函数名说明1remove移除列表中匹
- 工作中我们经常要两段代码的区别,或者需要查看接口返回的字段与预期是否一致,如何快速定位出两者的差异?除了一些对比的工具比如Beyond Co
- Django默认支持Session,并且默认是将Session数据存储在数据库中的修改session存取放在数据库中SESSION_ENGI
- 看了群主最后成像的图片,应该是循环了36次画方框,每次有10度的偏移。当然不能提前看答案,自己试着写代码。之前有用过海龟画图来画过五角星、奥
- 首先介绍一下什么是桑葚图?桑基图(Sankey diagram),即桑基能量分流图,也叫桑基能量平衡图。它是一种特定类型的流程图,图中延伸的
- 前言上篇介绍了go-grpc-middleware的grpc_zap、grpc_auth和grpc_recovery使用,本篇将介绍grpc
- 为什么要用el-scrollbar?最近在写一个内部平台系统,相信大家都知道,其中会有很多自定义的滚动区域,就比如说现在有一个列表需要滚动,
- 这篇文章主要介绍了python re模块匹配贪婪和非贪婪模式详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值
- 本文实例讲述了Django框架使用富文本编辑器Uedit的方法。分享给大家供大家参考,具体如下:Uedit是百度一款非常好用的富文本编辑器一
- 在教材实例编写雷达图时出现ValueError,具体如下:ValueError: The number of FixedLocator lo