当前位置: 首页 > news >正文

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

目录

前言

效果展示

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

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

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

四、小提示


前言

效果展示

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

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

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

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

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

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

配置成功,就会获得Key 

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

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

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

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

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

在uni-app的API中找到位置

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

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

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

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

 

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

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

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

 

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

 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.addressconsole.log(this.address);})})})});
},

 最后在页面上渲染address即可

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

四、小提示

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

结束语:

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

http://www.lryc.cn/news/43638.html

相关文章:

  • 92年程序员发帖晒薪资称自己很迷茫,网友:老弟你可以了
  • 阿里四面,居然栽在一道排序算法上
  • macOS 13.3(22E252)/12.6.4/11.7.5正式版发布
  • MPP数据库简介及架构分析
  • centos7配置pytorch和tensorflow
  • Kafka在Mac下的安装与使用
  • AndroidStudio相对布局
  • 如何用iOS自带摄像头进行拍摄获取视频流以及OpenCV图像处理实时显示
  • 智安网络|为什么说防火墙是我们信息安全的第一道防线?
  • Android多媒体功能开发(8)——使用VideoView控件播放视频
  • python调用CC++
  • [golang gin框架] 10.Gin 商城项目介绍
  • Endor Labs:2023年十大开源安全风险
  • 关于Error和Exception的一些思考 小结
  • Mac环境变量配置(Java)
  • 通过这三个文件彻底搞懂rocketmq的存储原理
  • Linux安装Nvidia显卡驱动
  • GPT-4 介绍
  • Ubuntu下单机安装Hadoop详细教程(附所需安装包下载)
  • 【嵌入式烧录/刷写文件】-2.1-详解Intel Hex格式文件
  • 【云原生】初识 Kubernetes — pod 的前世今生
  • 【基础篇】Java类加载器详解
  • Pytorch动手实现Transformer机器翻译
  • 宝塔面板部署node+vue项目注意事项
  • 【LeetCode】剑指 Offer 39. 数组中出现次数超过一半的数字 p205 -- Java Version
  • fisco bcos用caliper0.2.0进行压力测试的安装配置
  • 正在进行 | 用友企业数智化财务峰会落地广州 高能不断
  • uniapp - APP云打包、蒲公英平台发布APP的步骤
  • reposync命令详解--reposync同步aliyunyum库到本地
  • OCR之论文笔记TrOCR