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

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 本文利用逆地址解析、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


结束语:


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



相关文章
|
2月前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
742 1
|
9天前
|
移动开发 小程序 PHP
校园圈子论坛系统采取的PHP语音和uni账号开发的小程序APP公众号H5是否只需要4800元?是的,就是只需要4800元
关于校园圈子论坛系统采用PHP语言和uni-app开发的小程序、APP、公众号和H5是否仅需4800元这个问题,实际上很难给出一个确定的答案。这个价格可能受到多种因素的影响
39 8
|
5天前
|
人工智能 小程序 数据处理
uni-app开发AI康复锻炼小程序,帮助肢体受伤患者康复!
近期,多家康复机构咨询AI运动识别插件是否适用于肢力运动受限患者的康复锻炼。本文介绍该插件在康复锻炼中的应用场景,包括康复运动指导、运动记录、恢复程度记录及过程监测。插件集成了人体检测、姿态识别等功能,支持微信小程序平台,使用便捷,安全可靠,帮助康复治疗更加高效精准。
|
12天前
|
缓存 移动开发 小程序
uni-vue3-wetrip自创跨三端(H5+小程序+App)酒店预订app系统模板
vue3-uni-wetrip原创基于vite5+vue3+uniapp+pinia2+uni-ui等技术开发的仿去哪儿/携程预约酒店客房app系统。实现首页酒店展示、预订搜索、列表/详情、订单、聊天消息、我的等模块。支持编译H5+小程序+App端。
49 8
|
19天前
|
Android开发 开发者 Python
通过标签清理微信好友:Python自动化脚本解析
微信已成为日常生活中的重要社交工具,但随着使用时间增长,好友列表可能变得臃肿。本文介绍了一个基于 Python 的自动化脚本,利用 `uiautomator2` 库,通过模拟用户操作实现根据标签批量清理微信好友的功能。脚本包括环境准备、类定义、方法实现等部分,详细解析了如何通过标签筛选并删除好友,适合需要批量管理微信好友的用户。
24 7
|
1天前
|
小程序 安全 搜索推荐
陪玩小程序的搭建解析与功能需求
陪玩小程序是为玩家提供专业陪玩服务的应用,嵌入社交或游戏平台,具备智能匹配、实时聊天、预约服务等功能,支持便捷高效的游戏体验。源码交付时需提供详细文档、技术支持及定制开发服务,确保客户能顺利维护和升级。选择陪玩小程序时应关注功能需求、用户体验、安全性和成本效益,以确保最佳使用效果。
18 0
|
27天前
|
移动开发 小程序
仿青藤之恋社交交友软件系统源码 即时通讯 聊天 微信小程序 App H5三端通用
仿青藤之恋社交交友软件系统源码 即时通讯 聊天 微信小程序 App H5三端通用
55 3
家政服务小程序APP开发,做好上门家政最快的方法是什么?
在家政服务领域,打造成功的平台并非易事。本文分享了三个关键步骤:避免初期盲目投入、采用低成本获客方式、建立有效的阿姨筛选机制。遵循这些方法,可助你避开常见陷阱,成为行业头部平台。
|
1月前
|
小程序 数据挖掘 UED
开发1个上门家政小程序APP系统,都有哪些功能?
在快节奏的现代生活中,家政服务已成为许多家庭的必需品。针对传统家政服务存在的问题,如服务质量不稳定、价格不透明等,我们历时两年开发了一套全新的上门家政系统。该系统通过完善信用体系、提供奖励机制、优化复购体验、多渠道推广和多样化盈利模式,解决了私单、复购、推广和盈利四大痛点,全面提升了服务质量和用户体验,旨在成为家政行业的领导者。
|
2月前
|
移动开发 小程序 数据可视化
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
334 3

推荐镜像

更多
下一篇
DataWorks