每日一句激励人心的鸡汤:
    认真阅读接口文档,
    认真阅读接口文档,
    认真阅读接口文档。

微信小程序获取用户当前经纬度位置

getLocation() API文档传送门,查看文档后你会发现想要拿到用户当前所在位置的经纬度,你还得经过他的授权,就是你进入一个小程序的时候,他会弹出一个框:XX小程序现在想要获取你的位置>>>>>授权授权授权,可以用 wx.getSetting,wx.openSetting , wx.authorize 来引导获取用户的授权,然后看文档吧,我下面就贴代码

// 微信获得经纬度getLocation() {let that = this;wx.getLocation({type: 'wgs84',//wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标success(res) {console.log(JSON.stringify(res))var latitude = res.latitudevar longitude = res.longitudevar speed = res.speedvar accuracy = res.accuracy;that.getLocal(latitude, longitude)},fail(res) {console.log('fail' + JSON.stringify(res))}})},
// 微信授权 获取当前地理位置getUserLocation() {let vm = this;wx.getSetting({success: (res) => {console.log(JSON.stringify(res))// res.authSetting['scope.userLocation'] == undefined    表示 初始化进入该页面// res.authSetting['scope.userLocation'] == false    表示 非初始化进入该页面,且未授权// res.authSetting['scope.userLocation'] == true    表示 地理位置授权if (res.authSetting['scope.userLocation'] != undefined && res.authSetting['scope.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的APIvm.getLocation();} else {wx.showToast({title: '授权失败',icon: 'none',duration: 1000})}}})}}})} else if (res.authSetting['scope.userLocation'] == undefined) {//调用wx.getLocation的APIvm.getLocation();}else {//调用wx.getLocation的APIvm.getLocation();}}})},

转换为具体城市

申请密钥通过经纬度去确认位置需要用到第三方接口,这里用的是腾讯地图的
  百度微信搜索下载微信小程序JavaScriptSDK,获得新道具qqmap-wx-jssdk.min,放到我们的util下面
  安全域名设置:百度搜索微信小程序,进入,扫码登录的你的账号,在“设置” -> “开发设置”的服务器域名中设置request合法域名,添加  https://apis.map.qq.com
最后还要在我们项目的配置SDK的设置,我用的是uniapp写的,就在manifest.json中这样写道:

"mp-weixin" : {/* 小程序特有相关 */"appid" : "我的微信小程序id","setting" : {"urlCheck" : false},"usingComponents" : true,/*我们添加的内容↓↓↓↓↓↓*/"permission" : {"scope.userLocation" : {"desc" : "获取位置"}}}
let QQMapWX = require('../../../utils/qqmap-wx-jssdk.min.js')
let qqmapsdk;
// 获取当前地理位置getLocal(latitude, longitude) {let vm = this;qqmapsdk.reverseGeocoder({location: {latitude: latitude,longitude: longitude},success: function (res) {// console.log(JSON.stringify(res));let province = res.result.ad_info.provincelet city = res.result.ad_info.cityvm.province=province,vm.city=city,vm.latitude=latitude,vm.longitude=longitude},fail: function (res) {console.log(res);},complete: function (res) {// console.log(res);}});},handleGetRegion(region){var that = this;for(let i in region) {if(i==1) {that.city = region[i].nameconsole.log(region[i].name)}}}

微信小程序授权获取用户当前经纬度位置并转换为具体城市相关推荐

  1. 微信小程序授权获取用户信息和手机号码

    微信小程序授权获取用户信息和手机号码 1.微信官方文档 登录:https://developers.weixin.qq.com/miniprogram/dev/framework/open-abili ...

  2. 微信小程序授权 获取用户信息

    微信小程序授权 获取用户信息 小程序昵称突然变成了"微信用户",头像也不显示, <!-- 近期很多小伙伴通过该方法获取头像和昵称,代码也没有做改变,突然就变成了下面这样子 - ...

  3. Java-(二)微信小程序授权获取用户信息和手机号码

    第一篇我们已经知道了微信小程序怎么授权登录获取用户信息. openId 和 unionId .下面将高速告诉大家,微信小程序如何授权获取用户信息和手机号码. 微信官方文档:https://develo ...

  4. uniapp微信小程序授权获取用户信息封装

    根据平台公告信息,2022年底wx.getUserProfile 与 wx.getUserInfo 接口被回收.新的小程序不能再授权获取头像和昵称:可以通过wx.login 接口直接获取用户的 ope ...

  5. 小程序获取不到用户头像和昵称返回微信用户问题解决,即小程序授权获取用户头像规则调整的最新解决方案

    最近好多同学在学习石头哥小程序课程的时候,遇到了下面这样的问题,在小程序授权获取用户头像和昵称时,获取到的是下面这样的. 到底是什么原因导致的呢,去小程序官方文档一看,又是官方改规则了. 点进去一看, ...

  6. 微信小程序制作——获取用户信息

    微信小程序制作--获取用户信息 1.获取用户信息 方式一 wxml <view bindtap="getUserName">获取当前用户名</view> j ...

  7. 微信小程序 getPhoneNumber获取用户手机号

    微信小程序 getPhoneNumber获取用户手机号 在使用getPhoneNumber前,可以先看下官方文档:文档地址 在注意这里,官方提到如果不使用之前wx.login调用获取的sessionK ...

  8. 支付宝小程序授权/获取用户信息

    支付宝小程序授权/获取用户信息 目录: 文章目录 支付宝小程序授权/获取用户信息 获取支付宝小程序授权token 解析支付宝小程序接口响应加密数据 获取支付宝小程序授权token ​ 前提准备工作: ...

  9. 微信小程序之获取用户基本信息

    微信小程序之获取用户基本信息 一.使用Redis存储access-token package com.qfjy.project.weixin.api.accessToken;import com.qf ...

最新文章

  1. 阅读Book:MultiObjective using Evolutionary Algorithms(7)---Weighted Sum Methods ε-Constraint Methods
  2. python菜鸟教程shell_[python小白]菜鸟教程---
  3. Spring Boot + IntelliJ IDEA——自动部署[Spring Boot热部署]+LiveReload[前端自动刷新、热加载]解决方案
  4. mysql innodb 并行_关于MySQL8.0 InnoDB并行执行的详解
  5. ocbase 数据库 蚂蚁_iOS开发数据库篇—FMDB简单介绍
  6. 向SAML响应中添加自定义声明–(如何为WSO2 Identity Server编写自定义声明处理程序)...
  7. 【编译打包】tengine 1.5.2
  8. svg标签的CSS3动画特效 - 经典特效
  9. Nodejs事件循环
  10. RxJava操作符相关学习资料
  11. 高维数据存储 —— R 树
  12. Reservoir Computing简介
  13. JavaScript---网络编程(9-1)--DHTML技术演示(2-1)-表格创建的几种方式
  14. 乘S10热销的东风,三星四机齐出再攻中国手机市场
  15. cache数据库入门教程
  16. twitter和新浪微博--比较
  17. linux netgear usb,家用四槽位 NETGEAR ReadyNAS NV+评测
  18. 华东师范大学提前面试历年真题领取
  19. 谷安kali密码破解小结(crunch字典生成)
  20. 求伯君 QIU BOJUN 挑战微软

热门文章

  1. JavaWeb(1.MySQL基础~2.MySQL高级)
  2. 重庆阿尔克CEO、CIO、CFO、COO、CTO、CKO,这些职位都是在做什么的?
  3. 小程序关联公众号推送公众号消息
  4. MATLAB中stairs函数使用
  5. swal 一闪而过 解决办法
  6. 使用WordPress创建自己的一个网站,超详细……
  7. 小红书APP群控实战
  8. Sigrity PowerSI 特征阻抗和耦合度仿真
  9. js地址栏转码与解码
  10. 钗头凤---陆游唐婉