微信小程序 腾讯地图显示偏差问题解决


Posted in Javascript onJuly 27, 2019

背景

在小程序中使用map组件,可以调用腾讯地图的API,将一些固定的点标记到地图界面上,点的经纬度获取是通过android端百度地图API获取的,所以此时将这个位置点信息直接设置上去会出现偏差,而且偏差还比较大

小程序设置位置点

关于如何在map组件上设置位置点,详细请查看腾讯官方文档
首先看一下map组件:

<map id="map" longitude="113.324520" latitude="23.099994" scale="14" controls="{{controls}}" bindcontroltap="controltap" markers="{{markers}}" bindmarkertap="markertap" polyline="{{polyline}}" bindregionchange="regionchange" show-location style="width: 100%; height: 300px;"></map>

其markers是需要设置在地图界面的位置点数组,数组中的元素就是一个对象。

markers: [{
   iconPath: "/resources/others.png",
   id: 0,
   latitude: 23.099994,
   longitude: 113.324520,
   width: 50,
   height: 50
  },
  iconPath: "/resources/others.png",
   id: 0,
   latitude: 23.094994,
   longitude: 113.424520,
   width: 50,
   height: 50
  }],

这里的latitude和longitude如果直接给其他地图定位的点,那么相同的这个点位置,在小程序中会出现偏差;

原因

小程序中的定位方式默认的是wgs84,而百度地图中使用的是BD09 ,还有gcj02。所以这里会出现偏差。

解决方案

使用离线的js库gcoord,将位置信息进行一次转换;

首先下载这个js库,放至某一个目录下,我这里是utils下

在需要的界面导入

import gcoord from '../../../utils/gcoord.js'

调用转换函数

var result = gcoord.transform(
       [resArr[i].JD, resArr[i].WD],  // 经纬度坐标
       gcoord.BD09,         // 当前坐标系(百度)
       gcoord.GCJ02);

这里在小程序中修改为gcj02,国测数据,因此转为gcj02;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
可输入的下拉框
Jun 19 Javascript
一些常用的JS功能函数代码
Jun 23 Javascript
jQuery UI Dialog 创建友好的弹出对话框实现代码
Apr 12 Javascript
通过隐藏iframe实现文件下载的js方法介绍
Feb 26 Javascript
jQuery带箭头提示框tooltips插件集锦
Nov 17 Javascript
js动态修改表格行colspan列跨度的方法
Mar 30 Javascript
JavaScript生成图形验证码
Aug 24 Javascript
详解JavaScript按概率随机生成事件
Aug 02 Javascript
Vue+Element-UI实现上传图片并压缩
Nov 26 Javascript
vue内置组件component--通过is属性动态渲染组件操作
Jul 28 Javascript
Vue看了就会的8个小技巧
Jan 21 Vue.js
详解如何使用Node.js实现热重载页面
May 06 Javascript
基于layPage插件实现两种分页方式浅析
Jul 27 #Javascript
基于ssm框架实现layui分页效果
Jul 27 #Javascript
layUI实现前端分页和后端分页
Jul 27 #Javascript
layui实现数据分页功能(ajax异步)
Jul 27 #Javascript
layui实现数据表格table分页功能(ajax异步)
Jul 27 #Javascript
layui实现数据分页功能
Jul 27 #Javascript
layUI实现列表查询功能
Jul 27 #Javascript
You might like
为了这两部电子管收音机,买了6套全新电子管和10粒刻度盘灯泡
2021/03/02 无线电
PHP限制页面只能在微信自带浏览器访问的代码
2014/01/15 PHP
PHP+javascript制作带提示的验证码源码分享
2014/05/28 PHP
php输出xml必须header的解决方法
2014/10/17 PHP
php阿拉伯数字转中文人民币大写
2015/12/21 PHP
PHP格式化MYSQL返回float类型的方法
2016/03/30 PHP
PHP CURL post数据报错 failed creating formpost data
2016/10/16 PHP
浅谈PHP表单提交(POST&amp;GET&amp;URL编/解码)
2017/04/03 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
showModelessDialog()使用详解
2006/09/21 Javascript
AJAX分页的代码(后台asp.net)
2011/02/14 Javascript
javascript代码编写需要注意的7个小细节小结
2011/09/21 Javascript
javascript对select标签的控制(option选项/select)
2013/01/31 Javascript
jQuery中使用Ajax获取JSON格式数据示例代码
2013/11/26 Javascript
jQuery实现简单二级下拉菜单
2015/04/12 Javascript
text-align:justify实现文本两端对齐 兼容IE
2015/08/19 Javascript
在 Linux/Unix 中不重启 Vim 而重新加载 .vimrc 文件的流程
2018/03/21 Javascript
JS根据Unix时间戳显示发布时间是多久前【项目实测】
2019/07/10 Javascript
Python判断Abundant Number的方法
2015/06/15 Python
答题辅助python代码实现
2018/01/16 Python
Python实现定时备份mysql数据库并把备份数据库邮件发送
2018/03/08 Python
Python实用库 PrettyTable 学习笔记
2019/08/06 Python
Python调用钉钉自定义机器人的实现
2020/01/03 Python
Python模拟登录和登录跳转的参考示例
2020/10/30 Python
python 基于wx实现音乐播放
2020/11/24 Python
健身场所或家用健身设备:Life Fitness
2017/11/01 全球购物
欧洲顶级体育电子商务网站:SportsShoes.com
2018/03/27 全球购物
Skip Hop官网:好莱坞宝宝挚爱品牌
2018/06/17 全球购物
eBay瑞士购物网站:eBay.ch
2018/12/24 全球购物
大学生自我鉴定
2013/12/08 职场文书
经典大学生求职信范文
2014/01/06 职场文书
销售个人求职信范文
2014/04/28 职场文书
写给老师的保证书
2015/05/09 职场文书
教师节班会开场白
2015/06/01 职场文书
如何在CocosCreator里画个炫酷的雷达图
2021/04/16 Javascript
python前后端自定义分页器
2022/04/13 Python