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


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 相关文章推荐
JavaScript 动态创建VML的方法
Oct 14 Javascript
javascript学习笔记(十六) 系统对话框(alert、confirm、prompt)
Jun 20 Javascript
jQuery侧边栏随窗口滚动实现方法
Mar 04 Javascript
JavaScript模拟实现键盘打字效果
Jun 29 Javascript
jquery实现隐藏在左侧的弹性弹出菜单效果
Sep 18 Javascript
Node.js 应用跑得更快 10 个技巧
Apr 03 Javascript
详解Angular开发中的登陆与身份验证
Jul 27 Javascript
js/jq仿window文件夹框选操作插件
Mar 08 Javascript
javaScript实现滚动条事件详解
Mar 24 Javascript
微信小程序可滑动周日历组件使用详解
Oct 21 Javascript
微信小程序 scroll-view 实现锚点跳转功能
Dec 12 Javascript
详解vue实现坐标拾取器功能示例
Nov 18 Vue.js
基于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
使用JSON实现数据的跨域传输的php代码
2011/12/20 PHP
ThinkPHP的MVC开发机制实例解析
2014/08/23 PHP
PHP高效获取远程图片尺寸和大小的实现方法
2017/10/20 PHP
如何取得中文输入的真实长度?
2006/06/24 Javascript
JavaScript之编码规范 推荐
2012/05/23 Javascript
浅析Cookie中的Path与domain
2013/12/18 Javascript
js判断页面中是否有指定控件的简单实例
2014/03/04 Javascript
浅析JS获取url中的参数实例代码
2016/06/14 Javascript
Javascript中的迭代、归并方法详解
2016/06/14 Javascript
Vue.js系列之项目搭建(1)
2017/01/03 Javascript
jQuery操作之效果详解
2017/05/19 jQuery
vue2.0 中#$emit,$on的使用详解
2017/06/07 Javascript
angularJs中$http获取后台数据的实例讲解
2018/08/08 Javascript
angular2组件中定时刷新并清除定时器的实例讲解
2018/08/31 Javascript
vue-vuex中使用commit提交mutation来修改state的方法详解
2018/09/16 Javascript
微信小程序picker组件关于objectArray数据类型的绑定方法
2019/03/13 Javascript
Nodejs实现WebSocket代码实例
2020/05/19 NodeJs
浅谈JavaScript中this的指向更改
2020/07/28 Javascript
python自动化工具日志查询分析脚本代码实现
2013/11/26 Python
python实现每次处理一个字符的三种方法
2014/10/09 Python
给Python的Django框架下搭建的BLOG添加RSS功能的教程
2015/04/08 Python
详解python中的 is 操作符
2017/12/26 Python
Python面向对象之反射/自省机制实例分析
2018/08/24 Python
pthon贪吃蛇游戏详细代码
2019/01/27 Python
基于html5绘制圆形多角图案
2016/04/21 HTML / CSS
美国网上购买眼镜:Eyeconic
2017/07/29 全球购物
毕业生多媒体设计求职信
2013/10/12 职场文书
基层干部2014全国两会学习心得体会
2014/03/10 职场文书
自强之星事迹材料
2014/05/12 职场文书
习总书记三严三实学习心得体会
2014/10/13 职场文书
2015年少先队活动总结
2015/03/25 职场文书
2015年教师个人业务工作总结
2015/10/23 职场文书
只需要12页,掌握撰写一流商业计划书的技巧
2019/05/07 职场文书
OpenCV-Python实现油画效果的实例
2021/06/08 Python
Nginx报错104:Connection reset by peer问题的解决及分析
2022/07/23 Servers
MySQL生成千万测试数据以及遇到的问题
2022/08/05 MySQL