【微信小程序】如何获得自己当前的定位呢?本文利用逆地址解析、uni-app带你实现

简介: 本文利用逆地址解析、uni-app带你实现获取定位。

目录


前言


效果展示


一、在腾讯定位服务配置微信小程序JavaScript SDK


二、使用uni-app获取定位的经纬度


三、 逆地址解析,获取精确定位


四、小提示


前言


效果展示

微信图片_20220927202719.png


一、在腾讯定位服务配置微信小程序JavaScript SDK


在浏览器搜索腾讯定位服务,找到官方网站,利用微信或者其他账号注册登录,登录后如下图操作


微信图片_20220927202742.png


点进去之后,可以看到如下图红色框框的操作指导

微信图片_20220927202758.png



第一步和第二步主要是申请秘钥和配置服务,可以直击点击我的应用跳转、接下来如下图片所示操作


微信图片_20220927202809.png


成功创建就会有如下图片的情况

微信图片_20220927202820.png



点击添加Key,然后进行配置

微信图片_20220927202833.png



配置成功,就会获得Key


微信图片_20220927202847.png


第三步、下载微信小程序JavaScriptSDK v1.1   JavaScriptSDK v1.2 其中的一个即可,然后解压文件后,将其放入项目中,我这里放入在我的common组件中


微信图片_20220927202859.png


第四步可以忽略,第五步就是将文件引入,到你想要展现定位的页面,把申请的Key引入到onLoad生命周期中

微信图片_20220927202911.png



var QQMapWX = require('../../common/lib/qqmap-wx-jssdk.min.js');

微信图片_20220927202922.png


this.qqmapsdk = new QQMapWX({
      key: '3SUBZ-W5BCQ-FLM5G-GYOPG-D523V-DUFNH'
      });


二、使用uni-app获取定位的经纬度


在uni-app的API中找到位置

微信图片_20220927203004.png



将如下的代码放入mounted生命周期中获取经纬度

uni.getLocation({
  type: 'wgs84',
  success: function (res) {
  console.log('当前位置的经度:' + res.longitude);
  console.log('当前位置的纬度:' + res.latitude);
  }
});


这里还需要在manifest.json中的源码视图中添加一段配置权限的代码

微信图片_20220927203026.png

"permission" : {
            "scope.userLocation" : {
                "desc" : "获取当前定位"
            }
        }


微信图片_20220927203052.png


三、 逆地址解析,获取精确定位


调用qqmapsdk.reverseGeocoder的方法,在其中属性location中调用经纬度,这里要注意需要使用gcj02,还需要


通过属性success, fail, complete的回调参数来接收调用结果success的回调参数可以有2个,第1个参数接收调用结果,第2个参数控制返回处理后的数据(非必须参数),示例:success:function(res,data)

微信图片_20220927203105.png


微信图片_20220927203117.png


address是自己定义为空,来接收地址,req中有如下内容


微信图片_20220927203137.png


address只要获取到定位即可req.result.address

mounted() {
  uni.getLocation({
  type: 'gcj02',
  highAccuracyExpireTime: 100,
  success: (res => {
    this.qqmapsdk.reverseGeocoder({
    location: {
      latitude: res.latitude,
      longitude: res.longitude
    },
    success:(req=>{
      this.address = req.result.address
      console.log(this.address);
    })
    })
  })
  });
},


最后在页面上渲染address即可


微信图片_20220927203204.png


代码段中highAccuracyExpireTime: 100,是高精度定位超时时间(ms),指定时间内返回最高精度,该值3000ms以上高精度定位才有效果,可以写也可以不写。


四、小提示


如果无法出现定位效果,需要降低调式基库的版本


微信图片_20220927203214.png


结束语:


以上就是本次分享的全部内容,有任何问题,都可以私信我



相关文章
|
1月前
|
存储 Java API
Android 浅度解析:mk预置AAR、SO文件、APP包和签名
Android 浅度解析:mk预置AAR、SO文件、APP包和签名
163 0
|
8天前
|
XML JSON 数据安全/隐私保护
如何使用Fiddler抓取APP接口和微信授权网页源代码
Fiddler是一款强大的抓包工具,用于捕获HTTP/HTTPS流量,包括手机APP和微信授权页面的数据。下载安装Fiddler后,需设置电脑代理,如端口8888,并在手机上配置相同代理,确保两者在同一局域网。通过安装Fiddler证书,可解密HTTPS请求。在手机上打开目标应用或网页,Fiddler将显示请求详情,便于接口调试和数据查看。
15 0
如何使用Fiddler抓取APP接口和微信授权网页源代码
|
1月前
|
移动开发 监控 供应链
JAVA智慧工厂制造生产管理MES系统,全套源码,多端展示(app、小程序、H5、台后管理端)
一开始接触MES系统,很多人会和博主一样,对MES细节的应用不了解,这样很正常,因为MES系统相对于其他系统来讲应用比较多!
44 1
JAVA智慧工厂制造生产管理MES系统,全套源码,多端展示(app、小程序、H5、台后管理端)
|
19天前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的课程考勤及作业提交App附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的课程考勤及作业提交App附带文章和源代码部署视频讲解等
12 0
基于ssm+vue.js+uniapp小程序的课程考勤及作业提交App附带文章和源代码部署视频讲解等
|
23天前
|
前端开发 小程序
新版校园跑腿外卖独立版+APP+小程序前端外卖配送平台源码
同城校园跑腿外卖配送平台源码,支持自定义diy 你可以设计你的页面,设计你自己的风格,支持多校园,独立版本,多商户,有用户端,骑手端,商家端,强大的功能
42 3
|
6天前
|
监控 小程序 前端开发
基础入门-抓包技术&HTTPS协议&WEB&封包监听&网卡模式&APP&小程序
基础入门-抓包技术&HTTPS协议&WEB&封包监听&网卡模式&APP&小程序
|
6天前
|
移动开发 小程序 安全
基础入门-APP架构&小程序&H5+Vue语言&Web封装&原生开发&Flutter
基础入门-APP架构&小程序&H5+Vue语言&Web封装&原生开发&Flutter
|
1月前
|
移动开发 网络协议 安全
HTML5页面被运营商DNS问题及解决方案,app中h5页面源码的获取
HTML5页面被运营商DNS问题及解决方案,app中h5页面源码的获取
86 4
|
19天前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的环境保护生活App附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的环境保护生活App附带文章和源代码部署视频讲解等
12 0
|
19天前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的房屋租赁App附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的房屋租赁App附带文章和源代码部署视频讲解等
10 0

推荐镜像

更多