最近做了一个小程序,需要获取用户的地理位置,用户授权后将地理位置逆解析后带到下一个页面上进行展示。但逆解析出来的结果与实际位置大概差了600m左右,一开始查了很多资料,都以为是经纬度获取就不精准,导致了后面的逆解析出现了问题,真的是抠破头的想解决办法,最后疲惫的时候无心扫过地图文档才找到了解决办法,分享出来给大家,愿2021大家头发健在~~~

1、关于获取用户授权得到地理位置的代码:

 <view  bindtap="scanCode">点击按钮</view>
var QQMapWX = require('../../utils/qqmap-wx-jssdk.js'); //1、必须引入
var qqmapsdk;Page({/*** 页面的初始数据*/data: {scanCodeMsg: "",address:'',latitude:'',longitude:'',},/*** 按钮绑定的方法*/scanCode(){let _this = this;_this.getUserLocation();},/*** 生命周期函数--监听页面加载*/onLoad: function (options) {// 实例化API核心类qqmapsdk = new QQMapWX({  //2、你申请的密钥key: '你申请的密钥'});},getUserLocation: function() {let vm = this;wx.getSetting({success: (res) => {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();}}})},// 微信获得经纬度getLocation: function() {let vm = this;wx.getLocation({  //不要冤枉他,他定位的其实还蛮准的type: 'wgs84',isHighAccuracy:true,success: function(res) {var latitude = res.latitudevar longitude = res.longitudevar speed = res.speed // 速度,以米/每秒计var accuracy = res.accuracy; // 位置精度vm.getLocal(latitude, longitude)},fail: function(res) {console.log('fail' + JSON.stringify(res))}})},// 获取当前地理位置getLocal: function(latitude, longitude) {let vm = this;qqmapsdk.reverseGeocoder({location: {latitude: latitude,longitude: longitude,},coord_type:1,get_poi:1,poi_options: 'policy=2;radius=600;page_size=20;page_index=1',  //3、这是重点!!!!success: function(res) {// let address = res.result.addresslet province = res.result.ad_info.provincelet city = res.result.ad_info.citylet formatted_addresses = res.result.formatted_addresses.recommendlet address = province + city + formatted_addressesvm.setData({address:address,// province: province,// city: city,latitude: latitude,longitude: longitude})},fail:function(data){console.log(data);}});},})

2、重点就在于这一段代码:

 coord_type:1, get_poi:1,poi_options: 'policy=2;radius=600;page_size=20;page_index=1', //半径,取值范围 1-5000(米)policy=2 到家场景:筛选合适收货的poi,并会细化收货地址,精确到楼栋;

3、文档解析:https://lbs.qq.com/miniProgram/jsSdk/jsSdkGuide/methodReverseGeocoder

4、根据文档上的参数自己设置了一下,然后定位显示的位置就很精准了,希望这篇文章对你有用哈~~

小程序踩坑之地图定位不精准的问题相关推荐

  1. 小程序踩坑日志(一)

    微信小程序踩坑日志 起步 申请账号 查看AppID-"设置"-开发设置 小程序的appid相当于小程序平台的一个身份验证 安装开发者工具https://mp.weixin.qq.c ...

  2. android小程序_小程序踩坑记

    小程序踩坑记 希望这个文章能尽量记录下小程序的那些坑,避免开发者们浪费自己的生命来定位到底是自己代码导致的还是啥神秘的字节跳变原因. 前记 小程序大多数坑是同一套代码在不同平台上表现不一致导致的,微信 ...

  3. tabbar角标 小程序_【沃行课堂】恭喜你遇到“坑”,小程序踩坑指南

    上周我们的开发小哥哥带领我们一起领略了开发中遇到的各种问题,以及基于SaaS模式的平台技术架构及实现.本周我们换个方向,由高级开发工程师秋哥带领大家共同探讨下小程序开发中踩过的坑.秋哥会从公司的几个小 ...

  4. 微信小程序踩坑记——ColorUI组件的使用

    微信小程序踩坑记--组件的使用 组件类型 ColorUI Vant weapp ColorUI 首先贴上官网链接:官网链接,GitHub链接 简介 ColorUI是一个css库!!!在你引入样式后可以 ...

  5. 微信小程序踩坑—用户登录界面

    最近做的一个项目有涉及到用户登录.微信小程序的用户登录在我看来有两种,一种是需要用微信提供的用户身份标识,简单地说就是小程序的登录者就是使用这个小程序的微信用户,还有一种是小程序和服务器之间有自己的一 ...

  6. 2021-08-21-智能/百度小程序踩坑

    智能小程序/百度小程序踩坑-客服功能 1.智能小程序接入客服服务非常简单,但是我第一次搞客服功能认为就跟h5一样直接引入第三方的服务,然后使用调用js文件就可以了,但是,在小程序中只能使用官方提供的客 ...

  7. 微信小程序踩坑日记-微信小程序首次加载样式错乱问题

    微信小程序踩坑日记-微信小程序首次加载样式错乱问题 在实际开发项目中,遇到了个棘手的问题,就是在某些因素下,进入小程序发现有些样式发生偏移.错乱等问题 问题原因:-未知(估计是组件的问题) ↓ 解决办 ...

  8. 关于微信小程序踩坑之 下载Word失败 手机vConsole中提示:downloadfile:fail url not in domain list

    下载文件失败提示:downloadfile:fail url not in domain list 1.看响应数据是否成功  微信开发工具 -->Network 2.上传时一定要配置  详情-& ...

  9. 微信小程序踩坑之微信支付提示商户未开通支付权限

    继上次踩坑事件后 我们现在API秘药都是采用数字+小写字母 后面不多久公司就成为了微信服务商 工作起来 效率提高不少 然鹅我今天又踩了一个坑 给客户开通了微信支付客户不给账号给我登录 拿不到里面的一些 ...

最新文章

  1. [C] 层层递进——C语言实现广度优先搜索
  2. Android之给图片添加水印效果
  3. python文档生成工具 sphinx 简介
  4. 【项目实战】mybatis +vue.js 前后端交互批量删除
  5. 精彩回顾 | Dapr闪电说系列
  6. MySQL高级 —— 高性能索引
  7. php写不了php,php写入内存不足怎么办
  8. C语言内建函数:__builtin_XXX
  9. mediawiki初学心得及使用方法
  10. 蓝桥杯 ALGO-5 算法训练 最短路
  11. 如何将php文件通过后台导入,如何将通过url传到php后台的json在后台再次转换为json格式?...
  12. 批标准化(batch normalization)与层标准化(layer normalization)比较
  13. Red Giant红巨人特效插件助力制作影视大片特效
  14. 【python三维深度学习】python三维点云从基础到深度学习
  15. Redis Setex
  16. 飞桨PP-HumanSeg本地实时视频推理代码解读
  17. aisell_EasyPOI 数据导入导出
  18. AndroidJNI 函数介绍
  19. 广东前海秋叶原集团:各种工程线 AV HDMI
  20. php7.4 redis扩展

热门文章

  1. Ubuntu搭建团队文档协作在线平台
  2. DOIP SOME/IP
  3. [摘]思科认证三步走及找工作的七大职业走向
  4. python如何生成指定均值向量和协方差矩阵的多维正态分布数据
  5. TCP服务器和客户端的创建(socket/socketserver)
  6. MySQL不等于判断时,null空值处理问题
  7. Dictionary Learning(字典学习、稀疏表示以及其他)
  8. 深度学习系列46:人脸图像超分GFP-GAN
  9. 网站不加“www”无法访问怎么解决?
  10. 一篇文章理解Promise原理