微信小程序位置授权处理方法


Posted in Javascript onJune 13, 2019

这两天在做小程序调取地图的时候遇到一个问题,如果用户第一次拒绝了位置权限请求。那么就不会再次唤起授权弹出。需要我们引导用户去开启。

具体做法如下。 在 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)
  }
 })
 },

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
jValidate 基于jQuery的表单验证插件
Dec 12 Javascript
关于 文本框默认值 的操作js代码
Jan 12 Javascript
jquery.qrcode在线生成二维码使用示例
Aug 21 Javascript
js showModalDialog弹出窗口实例详解
Jan 07 Javascript
Node.js开发之访问Redis数据库教程
Jan 14 Javascript
JavaScript整除运算函数ceil和floor的区别分析
Apr 14 Javascript
jQuery随手笔记之常用的jQuery操作DOM事件
Nov 29 Javascript
jQuery实现指定区域外单击关闭指定层的方法【经典】
Jun 22 Javascript
jQGrid Table操作列中点击【操作】按钮弹出按钮层的实现代码
Dec 05 Javascript
javaScript字符串工具类StringUtils详解
Dec 08 Javascript
Vue组件之单向数据流的解决方法
Nov 10 Javascript
Vue解析剪切板图片并实现发送功能
Feb 04 Javascript
json数据格式常见操作示例
Jun 13 #Javascript
微信小程序实现渐入渐出动画效果
Jun 13 #Javascript
微信小程序前端自定义分享的实现方法
Jun 13 #Javascript
javascript数组常见操作方法实例总结【连接、添加、删除、去重、排序等】
Jun 13 #Javascript
javascript实现的字符串转换成数组操作示例
Jun 13 #Javascript
javascript实现的时间格式加8小时功能示例
Jun 13 #Javascript
深入了解JavaScript代码覆盖
Jun 13 #Javascript
You might like
PHP安全配置
2006/10/09 PHP
php缓存技术介绍
2006/11/25 PHP
PHP模板引擎Smarty的缓存使用总结
2014/04/24 PHP
PHP编程入门的基本语法知识点总结
2016/01/26 PHP
prototype 1.5 &amp; scriptaculous 1.6.1 学习笔记
2006/09/07 Javascript
JQuery跨Iframe选择实现代码
2010/08/19 Javascript
浅谈JavaScript字符集
2014/05/22 Javascript
使用jquery.qrcode.min.js实现中文转化二维码
2016/03/11 Javascript
Javascript中常见的逻辑题和解决方法
2016/09/17 Javascript
微信小程序 在Chrome浏览器上运行以及WebStorm的使用
2016/09/27 Javascript
详解Angularjs 如何自定义Img的ng-load 事件
2017/02/15 Javascript
基于Vue2-Calendar改进的日历组件(含中文使用说明)
2019/04/14 Javascript
简述pm2常用命令集合及配置文件说明
2019/05/30 Javascript
vue+elementUI组件table实现前端分页功能
2020/11/15 Javascript
Python实现随机生成有效手机号码及身份证功能示例
2017/06/05 Python
浅谈Python在pycharm中的调试(debug)
2018/11/29 Python
django中间键重定向实例方法
2019/11/10 Python
Python面向对象中类(class)的简单理解与用法分析
2020/02/21 Python
使用tensorflow根据输入更改tensor shape
2020/06/23 Python
Python sublime安装及配置过程详解
2020/06/29 Python
python实现计算器简易版
2020/12/17 Python
python 监控服务器是否有人远程登录(详细思路+代码)
2020/12/18 Python
澳大利亚牛仔裤商店:Just Jeans
2016/10/13 全球购物
英国Office鞋店德国网站:在线购买鞋子、靴子和运动鞋
2018/12/19 全球购物
Sahajan美国:阿育吠陀护肤品牌
2021/01/09 全球购物
活动志愿者自荐信
2014/01/27 职场文书
计算机通信专业推荐信
2014/02/22 职场文书
品质管理部岗位职责范文
2014/03/01 职场文书
房产公证书范本
2014/04/10 职场文书
活动倡议书范文
2014/05/13 职场文书
导师对论文的学术评语
2015/01/04 职场文书
2015员工年度考核评语
2015/03/25 职场文书
成绩单家长意见
2015/06/03 职场文书
新手初学Java List 接口
2021/07/07 Java/Android
python_tkinter事件类型详情
2022/03/20 Python
CSS list-style-type属性使用方法
2023/05/21 HTML / CSS