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


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 相关文章推荐
动态控制Table的js代码
Mar 07 Javascript
解决IE下select标签innerHTML插入option的BUG(兼容IE,FF,Opera,Chrome,Safari)
May 13 Javascript
javascript中对Attr(dom中属性)的操作示例讲解
Dec 02 Javascript
jQuery中bind,live,delegate与one方法的用法及区别解析
Dec 30 Javascript
使用js实现数据格式化
Dec 03 Javascript
PHPExcel中的一些常用方法汇总
Jan 23 Javascript
深入理解JavaScript系列(44):设计模式之桥接模式详解
Mar 04 Javascript
jQuery使用hide方法隐藏元素自身用法实例
Mar 30 Javascript
js基于cookie方式记住返回页面用法示例
May 27 Javascript
JavaScript中的冒泡排序法
Aug 03 Javascript
JS根据生日月份和日期计算星座的简单实现方法
Nov 24 Javascript
原生js+cookie实现购物车功能的方法分析
Dec 21 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
如何做到多笔资料的同步
2006/10/09 PHP
比较简单实用的PHP无限分类源码分享(思路不错)
2011/10/13 PHP
第三章 php操作符与控制结构代码
2011/12/30 PHP
php的PDO事务处理机制实例分析
2017/02/16 PHP
详细对比php中类继承和接口继承
2018/10/11 PHP
PHP 实现base64编码文件上传出现问题详解
2020/09/01 PHP
iframe 自适应高度[在IE6 IE7 FF下测试通过]
2009/04/13 Javascript
使用PHP+JQuery+Ajax分页的实现
2013/04/23 Javascript
JavaScript的常见兼容问题及相关解决方法(chrome/IE/firefox)
2013/12/31 Javascript
js识别不同浏览器基于userAgent做判断
2014/07/29 Javascript
点击A元素触发B元素的事件在IE8下会识别成A元素
2014/09/04 Javascript
javascript中的altKey 和 Event属性大全
2015/11/06 Javascript
JavaScript知识点整理
2015/12/09 Javascript
Vue.js 表单校验插件
2016/08/14 Javascript
深入了解响应式React Native Echarts组件
2019/05/29 Javascript
JS立即执行的匿名函数用法分析
2019/11/04 Javascript
VUE 动态组件的应用案例分析
2019/12/02 Javascript
[04:29]2014DOTA2国际邀请赛 主赛事第三日TOPPLAY
2014/07/21 DOTA
Python基于pycrypto实现的AES加密和解密算法示例
2018/04/10 Python
python之验证码生成(gvcode与captcha)
2019/01/02 Python
python 在指定范围内随机生成不重复的n个数实例
2019/01/28 Python
Python 忽略文件名编码的方法
2020/08/01 Python
手把手教你配置JupyterLab 环境的实现
2021/02/02 Python
CSS3实现伪类hover离开时平滑过渡效果示例
2017/08/10 HTML / CSS
HTML5之SVG 2D入门13—svg对决canvas及长处和适用场景分析
2013/01/30 HTML / CSS
工程项目经理岗位职责
2013/12/15 职场文书
支行行长竞聘演讲稿
2014/05/15 职场文书
旅游与环境专业求职信
2014/06/05 职场文书
七一建党节演讲稿
2014/09/11 职场文书
领导班子党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
2014年涉外离婚协议书范本
2014/11/20 职场文书
户外活动总结
2015/02/04 职场文书
考研导师推荐信范文
2015/03/27 职场文书
2015年暑期实践报告范文
2015/07/13 职场文书
辅导员学期工作总结
2015/08/14 职场文书
《艾尔登法环》发布最新「战技」宣传片
2022/04/03 其他游戏