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


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 Event学习第六章 事件的访问
Feb 07 Javascript
jquery1.4 教程二 ajax方法的改进
Feb 25 Javascript
JavaScript中的匀速运动和变速(缓冲)运动详细介绍
Nov 11 Javascript
使用正则表达式的格式化与高亮显示json字符串
Dec 03 Javascript
介绍一个简单的JavaScript类框架
Jun 24 Javascript
js实现Select列表各项上移和下移的方法
Aug 14 Javascript
jQuery横向擦除焦点图特效代码分享
Sep 06 Javascript
JavaScript实现简单的树形菜单效果
Jun 23 Javascript
vue打包的时候自动将px转成rem的操作方法
Jun 20 Javascript
vue项目部署到nginx/tomcat服务器的实现
Aug 26 Javascript
vue实现pdf文档在线预览功能
Nov 26 Javascript
详解element上传组件before-remove钩子问题解决
Apr 08 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中常见数据类型的汇总分享
2014/01/06 PHP
php中字符串和整数比较的操作方法
2019/06/06 PHP
判断一个变量是数组Array类型的方法
2013/09/16 Javascript
Flex通过JS获取客户端IP和计算机名的实例代码
2013/11/21 Javascript
js+html5实现canvas绘制简单矩形的方法
2015/06/05 Javascript
JavaScript实现的经典文件树菜单效果
2015/09/08 Javascript
javascript实现的左右无缝滚动效果
2016/09/19 Javascript
Angular路由简单学习
2016/12/26 Javascript
vue的基本用法与常见指令
2017/08/15 Javascript
vue2.0移除或更改的一些东西(移除index key)
2017/08/28 Javascript
浅谈在koa2中实现页面渲染的全局数据
2017/10/09 Javascript
Vue起步(无cli)的啊教程详解
2019/04/11 Javascript
js计时事件实现圆形时钟
2020/03/25 Javascript
详解JavaScript中分解数字的三种方法
2021/01/05 Javascript
[02:42]岂曰无衣,与子同袍!DOTA2致敬每一位守护人
2020/02/17 DOTA
python显示天气预报
2014/03/02 Python
使用Python进行二进制文件读写的简单方法(推荐)
2016/09/12 Python
python获取指定时间差的时间实例详解
2017/04/11 Python
Python 多进程和数据传递的理解
2017/10/09 Python
详解python多线程、锁、event事件机制的简单使用
2018/04/27 Python
python3.7 的新特性详解
2019/07/25 Python
详解python中docx库的安装过程
2019/11/08 Python
Python argparse模块应用实例解析
2019/11/15 Python
python多维数组分位数的求取方式
2020/03/03 Python
python 判断txt每行内容中是否包含子串并重新写入保存的实例
2020/03/12 Python
使用PDF.JS插件在HTML中预览PDF文件的方法
2018/08/29 HTML / CSS
黄色火烈鸟:De Gele Flamingo
2019/03/18 全球购物
万户网络JAVA程序员岗位招聘笔试试卷
2013/01/08 面试题
一份创业计划书范文
2014/02/08 职场文书
中专生毕业个人鉴定
2014/02/26 职场文书
2014年教师政治学习材料
2014/06/02 职场文书
打架检讨书
2015/01/27 职场文书
小学生教师节广播稿
2015/08/19 职场文书
《你在为谁工作》心得体会(共8篇)
2016/01/20 职场文书
导游词之徐州-云龙山
2019/09/29 职场文书