uniapp的微信小程序,获取授权,获取中文街道地理位置
w问题描述:在微信小程序模拟器上运行获取坐标时 获取不到信息,原因是 没有调起默认地理位置;
解决办法:或者在manifest.json的源码视图中配置:配置appid和地理位置 默认弹起获取地理位置信息弹框;
转载至:https://blog.csdn.net/qq_42231156/article/details/89764301
1. 详细见代码:在需要.vue页面调用如下方法。
onReady(){
    this.isGetLocation();
},
methods: {
    getAuthorizeInfo(a="scope.userLocation"){  //1. uniapp弹窗弹出获取授权(地理,个人微信信息等授权信息)弹窗
        var _this=this;
        uni.authorize({
            scope: a,
            success() { //1.1 允许授权
                _this.getLocationInfo();
            },
            fail(){    //1.2 拒绝授权
                console.log("你拒绝了授权,无法获得周边信息")
            }
        })
    },
    getLocationInfo(){  //2. 获取地理位置
        var _this=this;
        uni.getLocation({
            type: 'wgs84',
            success (res) {
                console.log("你当前经纬度是:")
                console.log(res)
                let latitude,longitude;
                latitude = res.latitude.toString();
                longitude = res.longitude.toString();
                uni.request({
                    header:{
                        "Content-Type": "application/text"
                    },
                    url:'http://apis.map.qq.com/ws/geocoder/v1/?location='+latitude+','+longitude+'&key=MVGBZ-R2U3U-W5CVY-2PQID-AT4VZ-PDF35',
                    success(re) {
                        console.log("中文位置")
                        console.log(re)
                        if(re.statusCode===200){
                            console.log("获取中文街道地理位置成功")
                        }else{
                            console.log("获取信息失败,请重试!")
                        }
                     }
                });
            }
        });
    },
    isGetLocation(a="scope.userLocation"){ // 3. 检查当前是否已经授权访问scope属性,参考下截图
        var _this=this;
        uni.getSetting({
            success(res) {
                if (!res.authSetting[a]) {  //3.1 每次进入程序判断当前是否获得授权,如果没有就去获得授权,如果获得授权,就直接获取当前地理位置
                    _this.getAuthorizeInfo()
                }else{
                    _this.getLocationInfo()
                }
            }
        });
    }
}

2. 微信小程序中,目前版本无法自动直接弹窗用户用户信息scope.userInfo信息,需要按钮点击主动授权引导。
<button open-type="getUserInfo" @getuserinfo="bindGetUserInfo" >授权登录</button>
<!--注意,如果是小程序中则是 <button open-type="getUserInfo" bindGetUserInfo="bindGetUserInfo" >授权登录</button>--> methods:{
bindGetUserInfo(e) {
if (e.detail.userInfo){
//用户按了允许授权按钮
} else {
//用户按了拒绝按钮
}
}
}
3. uni-app配置微信小程序的appid: 开发过程中,需要在unpackage>>dist>>dev>>mp-weixin>>app.json中加入如下配置:
"permission": {
    "scope.userLocation": {
            "desc": "你的位置信息将用于小程序位置接口的效果展示"
    }
}
或者在manifest.json的源码视图中配置:配置appid和地理位置
"mp-weixin": { /* 小程序特有相关 */
        "appid": "", //需要配置appid
        "setting": {
            "urlCheck": false
        },
        "usingComponents": true,
        "permission": {
            "scope.userLocation": {
                "desc": "你的位置信息将用于小程序位置接口的效果展示"
            }
        }
    }
uniapp的微信小程序,获取授权,获取中文街道地理位置的更多相关文章
- nodejs+koa+uniapp实现微信小程序登陆获取用户手机号及openId
		
nodejs+koa+uniapp实现微信小程序登陆获取用户手机号及openId 前言: 我准备用nodejs+koa+uniapp实现一款餐饮点单小程序,以及nodejs+koa+vue实现后端管理 ...
 - 使用uView UI+UniApp开发微信小程序--微信授权绑定和一键登录系统
		
在前面随笔<使用uView UI+UniApp开发微信小程序>和<使用uView UI+UniApp开发微信小程序--判断用户是否登录并跳转>介绍了微信小程序的常规登录处理和验 ...
 - 微信小程序之动态获取元素宽高
		
我以前一直以为微信小程序不能动态获取view元素的宽高.但是自从看到: wx.createSelectorQuery() 这个api接口,以前的某些问题就能得到解决了... 那么,这个api接口怎么用 ...
 - 微信小程序案例:获取微信访问用户的openid
		
在微信开发项目中,获取openid是项目常遇的问题,本文通过主要讲解实现在微信小程序中如何获取用户的openid,案例实现非常简单 具体实现方法是通过登录接口获取登录凭证,然后通过request请求微 ...
 - [技术博客] 微信小程序的formid获取
		
微信小程序的formid获取 formId的触发 微信小程序可以通过收集用户的formid,获取formid给用户主动推送微信消息.获取formid有两个途径,一个是触发一次表单提交,或者触发一次支付 ...
 - 使用uView UI+UniApp开发微信小程序--判断用户是否登录并跳转
		
在<使用uView UI+UniApp开发微信小程序>的随笔中,介绍了基于uView UI+UniApp开发微信小程序的一些基础知识和准备工作,其中也大概介绍了一下基本的登录过程,本篇随笔 ...
 - 使用uni-app开发微信小程序
		
uni-app 开发微信小程序 前言 9月份,开始开发微信小程序,也曾调研过wepy/mpvue,考虑到后期跨端的需求,最终选择使用了uni-app,本文主要介绍如何使用uni-app搭建小程序项目, ...
 - uni-app开发经验分享十九: uni-app对接微信小程序直播
		
uni-app对接微信小程序直播 1.登录微信小程序后台-点击>设置->第三方设置->添加直播插件 2.添加直播组件后->点击<详情> 记录这两个参数直播 ...
 - 使用uView UI+UniApp开发微信小程序
		
在前面随笔的介绍中,我们已经为各种框架,已经准备了Web API.Winform端.Bootstrap-Vue的公司动态网站前端.Vue&Element的管理前端等内容,基本都是基于Web A ...
 
随机推荐
- 输入列号得到excel对应的字母列
			
zexcel_cell_column 类型是INT4 FUNCTION ZGET_EXCEL_COL. *"----------------------------------------- ...
 - Spring讲解-----------表达式语言
			
转自:https://blog.csdn.net/u011225629/article/details/47143083 5.1 概述5.1.1 概述 Spring表达式语言全称为“S ...
 - JVM学习(二):垃圾回收
			
我刚工作的时候问一个前辈,我们能针对JVM做出什么样的优化.前辈说,我们系统现在的性能并不需要调优,用默认的配置就能满足现在的需求了.我又问,那你为什么要看JVM相关的书呢?前辈微微一笑,悠悠地来了句 ...
 - centos 7 安装 LNMPC cacti 1.2.7 监控
			
先上图,后续更新
 - C语言的宏macro的使用
			
C's Macro Introduction 1.The Connect Macros: ## 这是一个预处理连接符,这个操作符主要用来将两个符号连接成为一个完整的宏符号.通过下面的代码,可以看到其具 ...
 - servlet遇到的问题
			
1 创建web项目没有xml自动生成 2 servlet 忽然报奇怪500错误 出现的BUG原因 JAVA bean没有设置 自动导入了其他User包
 - Arm汇编指令集2
			
什么是协处理器: SoC内部另一处理核心,协助CPU实现某些功能,被主CPU调用执行一定任务. ARM设计上支持16个协处理器,但是一般SoC只实现其中的CP15(cp就是cooperation pr ...
 - python常用模块:标准文件及模块练习
			
1.请写出规范目录 并解释各文件夹的作用 bin 执行文件core 核心业务逻辑conf 配置文件lib 库.公共代码.第三方模块db 数据分析log 日志文件readme 文本文档 2.改造atm+ ...
 - Python3多线程爬取meizitu的图片
			
python环境:python3 运行环境:win10和linux都可以,其他系统没测 1 安装依赖 pip install requests pip install lxml pip install ...
 - linux TAILQ_ENTRY
			
#include <sys/queue.h> TAILQ_ENTRY 队列 http://www.360doc.com/content/15/1222/14/29292169_522271 ...