需求:点击按钮获取当前微信位置,以及点击拒绝授权后,下次点击还可以拉起授权窗口;

拒绝授权后重新拉起授权操作:
直接授权操作:

一、问题1:报authorize scope.userLocation需要在app.json中声明permission字段;

原因:因为微信小程序从2019年1月14日起新提交发布的版本若未填写地理位置用途说明,则将无法正常调用地理位置相关接口;
解决办法:manifest.json文件中,mp-weixin属性下配置permission获取地理位置的权限

代码如下:直接复制黏贴对应位置即可

        "permission": {// 获取当前的地理位置、速度 配置"scope.userLocation": {"desc": "你的位置信息将用于小程序位置接口的效果展示"}}

二、点击进行获取位置:
以上的配置好后,如果直接使用uni.getLocation()方法,不判断是否有获取的权限, 就去获取 ,那么第一次获取时候会让你授权,确认则可以获取到;但如果拒绝,则获取不到,且以后都无法唤起授权也无法获取到。
此时就遇到问题2:微信小程序如何在用户拒绝授权申请后再次拉起授权窗口?
解决方法:思路是在用户点击拒绝授权时,添加弹框wx.showModal();在弹框内再次让用户选择是否授权以及调用权限wx.openSetting();

不要慌:直接复制以下代码即可解决,记得配置permission:

<template><view><button type="" @click="getLocation">获取位置</button><view>经度:{{x}}</view><view>纬度:{{y}}</view></view>
</template><script>
export default {data () {return {x: 0,y: 0}},methods: {getLocation () {let that = this// 获取用户是否开启 授权获取当前的地理位置、速度的权限。uni.getSetting({success (res) {console.log(res)// 如果没有授权if (!res.authSetting['scope.userLocation']) {// 则拉起授权窗口uni.authorize({scope: 'scope.userLocation',success () {//点击允许后--就一直会进入成功授权的回调 就可以使用获取的方法了uni.getLocation({type: 'wgs84',success: function (res) {that.x = res.longitudethat.y = res.latitudeconsole.log(res)console.log('当前位置的经度:' + res.longitude)console.log('当前位置的纬度:' + res.latitude)uni.showToast({title: '当前位置的经纬度:' + res.longitude + ',' + res.latitude,icon: 'success',mask: true})}, fail (error) {console.log('失败', error)}})},fail (error) {//点击了拒绝授权后--就一直会进入失败回调函数--此时就可以在这里重新拉起授权窗口console.log('拒绝授权', error)uni.showModal({title: '提示',content: '若点击不授权,将无法使用位置功能',cancelText: '不授权',cancelColor: '#999',confirmText: '授权',confirmColor: '#f94218',success (res) {console.log(res)if (res.confirm) {// 选择弹框内授权uni.openSetting({success (res) {console.log(res.authSetting)}})} else if (res.cancel) {// 选择弹框内 不授权console.log('用户点击不授权')}}})}})} else {// 有权限则直接获取uni.getLocation({type: 'wgs84',success: function (res) {that.x = res.longitudethat.y = res.latitudeconsole.log(res)console.log('当前位置的经度:' + res.longitude)console.log('当前位置的纬度:' + res.latitude)uni.showToast({title: '当前位置的经纬度:' + res.longitude + ',' + res.latitude,icon: 'success',mask: true})}, fail (error) {uni.showToast({title: '请勿频繁调用!',icon: 'none',})console.log('失败', error)}})}}})}},
}
</script><style>
</style>

uni-app微信小程序uni.getLocation获取位置;authorize scope.userLocation需要在app.json中声明permission;小程序用户拒绝授权后重新授权相关推荐

  1. 微信小程序:getLocation需要在app.json中声明permission字段

    目录 问题引入 获取用户位置信息时需填写用途说明 操作方法 问题引入 最近开发微信小程序时,由于需要用到用户的位置信息,所以调用了微信获取位置信息的API wx.getLocation ,代码如下所示 ...

  2. uni-app开发微信小程序getLocation 需要在app.json中声明permission字段解决办法

    小程序更新了部分配置,位置授权要先在app.json里声明一下,这在以前是不需要,会提示getLocation 需要在app.json中声明permission字段,如图 解决办法: 在manifes ...

  3. 微信小程序中定位报错在app.json中声明permission字段

    微信小程序在获取用户位置时后台报错 在搭建小程序的过程中出现报错,报错内容:getLocation需要在app.json中声明permission字段. 出现这类的提示,获取不到用户的地理位置,其实提 ...

  4. 小程序getLocation需要在app.json中声明permission字段

    小程序getLocation需要在app.json中声明permission字段 个别需要获取用户地理位置的在开发者工具调试时会出现 getLocation需要在app.json中声明permissi ...

  5. 微擎写Android接口json,【微擎教程】getLocation需要在app.json中声明permission字段

    个别需要获取用户地理位置的在开发者工具调试时会出现 getLocation需要在app.json中声明permission字段   提示,如下图 说明 获取用户位置信息时需填写用途说明 在一些小程序/ ...

  6. 小程序 authorize scope.userLocation 需要在app.json中声明permission字段

    使用wx.authorize遇到的一个小问题,解决办法就是在app.json中增加permission字段. 官方地址:https://developers.weixin.qq.com/minipro ...

  7. getLocation需要在app.json中声明permission字段

    问题描述 在使用小程序wx.getLocation获取定位的时候,如出现下图问题.需要在app.json中添加一段代码即可. 在app.json中添加代码如下: "permission&qu ...

  8. authorize scope. userlocation需要在app.json中声明permission字段

    解决方法: 在app.json里面增加premission属性 "permission": {"scope.userLocation": {"desc ...

  9. uni-app 微信小程序获取位置信息提示“getLocation 需要在 app.json 中申明 permission 字段”

    本文同步发布在:uni-app 微信小程序获取位置信息提示"getLocation 需要在 app.json 中申明 permission 字段 我们在用 uni-app 开发微信小程序时, ...

最新文章

  1. python中将一个全部为int的list 转化为str的list
  2. 机器学习的5个常见痛点及解决方法
  3. PHP JSON_ENCODE 不转义中文汉字的方法
  4. 业务智能 ETL 设计实施策略(转载)
  5. vorwerk 机器人_福维克(Vorwerk)--吸尘器行业的quot;安利quot;
  6. suList() 和 asList()
  7. pandas mysql index_Pandas从入门到精通(3)- Pandas多级索引MultiIndex
  8. 系统运维遇上了大救星,是什么让IT效率提高48%
  9. android布局layout中的一些属性
  10. android 好看的输入法,Android 手机上最好的输入法是哪种
  11. solidity教程-简介
  12. 赵云传 java游戏_三国赵云传2RPG版
  13. 数据结构——“双向循环链表“ 易懂刨析双向循环链表(图解+代码)
  14. plsql 导出分区_plsql批量导出数据库数据
  15. 炫酷好玩好用的卫星全景地图
  16. 硬盘出现异响应急方案
  17. 系统垃圾清理bat文件
  18. 神棍节前夕,沃商店迎来1岁生日
  19. ueditor php上传word,ueditor百度编辑器上传PDF并显示
  20. C# XtraReport学习之三 绑定数据

热门文章

  1. 166. 分数到小数
  2. leetcode 872. 叶子相似的树(dfs)
  3. 深入理解InnoDB(8)—单表访问
  4. leetcode 115. 不同的子序列(dp)
  5. leetcode 567. 字符串的排列(滑动窗口)
  6. winform窗体模板_如何验证角模板驱动的窗体
  7. 我如何使用React,Redux-Saga和Styled Components构建NBA球员资料获取器
  8. android 函数式编程_Android开发人员的函数式编程-第1部分
  9. Class? getClass()
  10. Vue 框架-05-动态绑定 css 样式