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

 更新时间:2019年07月27日 17:11:40   作者:Numen.fan  
这篇文章主要介绍了微信小程序 腾讯地图显示偏差问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

背景

在小程序中使用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;

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

相关文章

  • js+css实现换肤效果

    js+css实现换肤效果

    这篇文章主要为大家详细介绍了js+css实现换肤效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • 理解javascript中try...catch...finally

    理解javascript中try...catch...finally

    这篇文章主要帮助大家理解javascript中try...catch...finally,从浅入深,一步步掌握javascript中try...catch...finally的使用方法,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • 自制的文件上传JS控件可支持IE、chrome、firefox etc

    自制的文件上传JS控件可支持IE、chrome、firefox etc

    这篇文章主要介绍了自制的文件上传JS控件可支持IE、chrome、firefox etc,需要的朋友可以参考下
    2014-04-04
  • IE8中动态创建script标签onload无效的解决方法

    IE8中动态创建script标签onload无效的解决方法

    这篇文章主要介绍了IE8中动态创建script标签onload无效的解决方法,涉及针对javascript加载顺序的调整,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • 小程序实现左右来回滚动字幕效果

    小程序实现左右来回滚动字幕效果

    这篇文章主要为大家详细介绍了小程序实现左右来回滚动字幕效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • 原生js实现二级联动菜单

    原生js实现二级联动菜单

    这篇文章主要为大家详细介绍了原生js实现二级联动菜单,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • JavaScript 反科里化 this [译]

    JavaScript 反科里化 this [译]

    本文主要讲了JavaScript中科里化和反科里化this的方法.话题来自于Brendan Eich(JavaScript之父)的一个tweet
    2012-09-09
  • Es6 Generator函数详细解析

    Es6 Generator函数详细解析

    Generator 函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完全不同。这篇文章给大家介绍Es6 Generator函数的相关知识,感兴趣的朋友一起看看吧
    2018-02-02
  • 使用JS实现图片展示瀑布流效果的实例代码

    使用JS实现图片展示瀑布流效果的实例代码

    下面小编就为大家带来一篇使用JS实现图片展示瀑布流效果的实例代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • 使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室

    使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室

    本文主要给大家详细介绍Angular和Nodejs、socket.io的使用,以及如何使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室,需要的朋友可以来参考下
    2015-08-08

最新评论