微信小程序获取用户当前所在位置
获取用户当前所在位置
1. 授权并获取经纬度
调用 wx.getLocation 来进行授权,使用此属性时应注意在App.json文件中进行配置
"permission": {"scope.userLocation": {"desc": "你的位置信息将用于小程序位置接口的效果展示"}},
这是提示用户要干嘛的弹窗信息
wx.getSetting 判断用户是否已授权,
// 定位position() {wx.getSetting({success: (res) => {// res.authSetting['scope.userLocation'] == undefined 表示 初始化进入该页面// res.authSetting['scope.userLocation'] == false 表示 非初始化进入该页面,且未授权// res.authSetting['scope.userLocation'] == true 表示 地理位置授权if (res.authSetting['scope.address.userLocation'] != undefined && res.authSetting['scope.address.userLocation'] != true) {wx.showModal({title: '请求授权当前位置',content: '需要获取您的地理位置,请确认授权',success: function (res) {if (res.cancel) {wx.showToast({title: '拒绝授权',icon: 'none',duration: 1000})} else if (res.confirm) {wx.openSetting({success: function (dataAu) {if (dataAu.authSetting["scope.userLocation"] == true) {wx.showToast({title: '授权成功',icon: 'success',duration: 1000})//再次授权,调用wx.getLocation的API} else {wx.showToast({title: '授权失败',icon: 'none',duration: 1000})}}})}}}) //再次授权,调用wx.getLocation的API} else if (res.authSetting['scope.address.userLocation'] == undefined) {wx.getLocation({altitude: 'altitude',})} else {wx.getLocation({altitude: 'altitude',})}}})},
调用:
lifetimes: {created() {console.log("在组件实例刚刚被创建时执行")this.position() // 判断是否已权},attached() {console.log("在组件实例进入页面节点树时执行")},},
2. 使用腾讯地图API把经纬度传上去返回城市名称
申请开发者密钥(key): 申请密钥
开通webserviceAPI服务:控制台 ->应用管理 -> 我的应用->添加key-> 勾选WebServiceAPI -> 保存
- 没有应用的创建一个应用,名字随便起
- 添加key
- 勾选WebServiceAPI
- 确定
下载微信小程序JavaScriptSDK,微信小程序JavaScriptSDK v1.1
安全域名设置,在小程序管理后台 -> 开发 -> 开发管理 -> 开发设置 -> “服务器域名” 中设置request合法域名,添加https://apis.map.qq.com
然后开始写代码,首先引入你下载的 :JavaScriptSDK v1.1,里面的文件,在生命周期函数中进行初始化
// 引入SDK核心类,js文件根据自己业务,位置可自行放置 var QQMapWX = require('../../libs/qqmap-wx-jssdk.js'); var qqmapsdk;onLoad: function () {// 实例化API核心类qqmapsdk = new QQMapWX({key: '申请的key'});},// 组件中lifetimes: {created() {console.log("在组件实例刚刚被创建时执行")qqmapsdk = new QQMapWX({key: 'OE3BZ-HBHKS-7MCOR-6DNJY-7FG73-ORBKE'})this.position()this.getLocations()},attached() {console.log("在组件实例进入页面节点树时执行")},},
创建一个函数,根据经纬度获取城市名称
// 获取经纬度getLocations() {wx.getLocation({type: 'wgs84',success: (res) => {console.log(res);var latitude = res.latitude // 获取经纬度var longitude = res.longitudeqqmapsdk.reverseGeocoder({ // 转换location: {latitude: latitude,longitude: longitude},success: (res) => {console.log(res.result.address_component);this.setData({city: res.result.address_component.city})}})}})}
data: {city: '' // 城市名称},
微信小程序获取用户当前所在位置相关推荐
- 微信小程序-获取用户位置(经纬度+所在城市)
微信小程序-获取用户位置(经纬度+所在城市) 文章目录 微信小程序-获取用户位置(经纬度+所在城市) 一.目标 二.实现思路 三.实现步骤 3.1 用到的接口函数 3.2 具体步骤 3.2.1 创建界 ...
- 微信公众号/微信小程序获取用户信息以及推送微信模版消息_MQ
微信公众号/微信小程序获取用户信息以及推送微信模版消息_MQ 一.获取用户信息 1.首先我们需要了解什么是微信用户的OpenID 在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密 ...
- 微信小程序python解析获取用户手机号_微信小程序获取用户手机号
获取微信用户绑定的手机号,需先调用wx.login接口. 小程序获取code. 后台得到session_key,openid. 组件触发getPhoneNumber 因为需要用户主动触发才能发起获取手 ...
- 微信小程序获取用户手机号--官方示例
微信小程序获取用户手机号–官方示例 https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNu ...
- 微信小程序 获取用户信息并保存登录状态
微信小程序 获取用户信息并保存登录状态:http://www.360doc.com/content/18/0124/11/9200790_724662071.shtml 转载于:https://www ...
- 微信小程序获取用户信息
微信小程序获取用户信息 微信小程序获取用户信息接口做了调整: 2021年4月28日24时后发布的小程序新版本,无法通过wx.getUserInfo与获取用户个人信息(头像.昵称.性别与地区),将直接获 ...
- 微信小程序获取用户信息-头像、昵称......
微信小程序获取用户信息-头像.昵称等,并出现弹窗提示授权 目录 微信小程序获取用户信息-头像.昵称等,并出现弹窗提示授权 1.wx.getUserProfile文档 2.代码演示 3.演示过程(图示) ...
- uniapp微信小程序怎样获取宽高?获取系统信息?微信小程序 获取用户手机屏幕高度与宽度信息等
第一种方案(推荐) "vw" = "view width" "vh" = "view height" 使用 CSS3 引 ...
- 微信小程序获取用户信息更新解决方案
微信小程序获取用户头像和昵称更新了,以下代码是兼容旧版本微信和新版本微信的解决方案,仅供参考 直接上代码 <template><!-- 顶部用户信息显示 --><view ...
最新文章
- android 点击字体,图片背景效果一起变换Demo
- 为什么要实施服务器虚拟化
- 剖析三大个人IM工具安全隐患
- 【论文写作】毕业论文写作的基本流程
- 关于iOS 热更新(热修复)你必须知道的一种方法- JSPatch
- 多线程模拟实现生产者/消费者模型 (借鉴)
- 智能优化算法:算术优化算法-附代码
- ArcGIS学习总结(18)——面要素/矢量拆分
- 鸿蒙os运行内存,体验亮点满满!鸿蒙OS系统6月份开启适配,不只有华为手机
- 【小伟哥AI之路】海康摄像头近距离不能对焦模糊问题
- c php数据,PHP如何与C进行数据交互
- 删掉启动分区进不了系统,复活办法(win10)
- 数学基础之列联表分析2——独立性检验(卡方检验)
- 不删除磁盘内容,如何给C盘扩容
- python计算2的平方代码_Python练习实例46 | 求输入数字的平方,如果平方运算后小于 50 则退出。...
- Hacking Tools搜罗大集合
- pandas 计算累计和及累计占比
- VM虚拟机Ubuntu21.04 升级为22.04
- 全球人口密度大致分布
- python新手怎么兼职-初学Python到月入过万最快的兼职途径(纯干货)
热门文章
- 微信小程序 后台播放,多页面播放
- Java5、8、9章复习 5.6
- 核酸检测预约和结果查询系统
- Open-Domain Question Answering相关部分论文阅读摘要
- Linux系统ssd硬盘擦除,如何实现安全擦除 _固态硬盘小Z聊固态-中关村在线
- [转]体育运动比赛英语
- 卡马克揭开VR延迟背后的真相
- 乔布斯往事:游戏之神卡马克眼中的“英雄和傻瓜”
- 关于sqlldr官方教材上的几个例子ulcase study1-9
- CraftManager for Mac(PS/sketch自动填充神器)特别版