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

 更新时间: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;

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

相关文章

  • JavaScript实现异步图像上传功能

    JavaScript实现异步图像上传功能

    这篇文章主要介绍了JavaScript实现异步图像上传功能,本文展示了一种使用代码示例立即显示图像的方法(使用图像的Base64编码版本),同时将其上载到服务器,而无需等待操作完成。需要的朋友可以参考下
    2018-07-07
  • 在网页中使用document.write时遭遇的奇怪问题

    在网页中使用document.write时遭遇的奇怪问题

    很多时候我们都会在网页上的JavaScript中使用document.write来写入一些东西,有的时候可能因为我们无法改变某一部分HTML而不得不使用这样的办法,也有的时候是因为在进行跨应用的脚本调用。
    2010-08-08
  • JavaScript监听手机物理返回键的两种解决方法

    JavaScript监听手机物理返回键的两种解决方法

    JavaScript没有监听物理返回键的API,所以只能使用 popstate 事件监听。接下来通过本文给大家分享JavaScript监听手机物理返回键的两种解决方法,感兴趣的朋友一起看看吧
    2017-08-08
  • 微信小程序如何获取用户头像和昵称

    微信小程序如何获取用户头像和昵称

    这篇文章主要介绍了微信小程序如何获取用户头像和昵称,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • 基于JavaScript构建一个动态博客应用

    基于JavaScript构建一个动态博客应用

    这篇文章主要为大家详细介绍了如何基于JavaScript构建一个动态博客应用,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-02-02
  • JavaScript实现下拉菜单的显示和隐藏

    JavaScript实现下拉菜单的显示和隐藏

    这篇文章主要介绍了JavaScript实现下拉菜单的显示和隐藏的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • 微信小程序可滑动周日历组件使用详解

    微信小程序可滑动周日历组件使用详解

    这篇文章主要为大家详细介绍了微信小程序可滑动周日历组件的使用方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • js fill函数填充数组或对象的解决方法

    js fill函数填充数组或对象的解决方法

    这篇文章主要介绍了js fill函数填充数组或对象的问题及解决方法,本文给大家介绍的非常详细对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-02-02
  • 使用命令对象代替switch语句的写法示例

    使用命令对象代替switch语句的写法示例

    这篇文章主要介绍了使用命令对象代替switch语句的写法示例,JS规范里面是禁止使用switch语句的,使用命令对象可以完美的解决这个问题,需要的朋友可以参考下
    2015-02-02
  • JavaScript中常见的高阶函数总结

    JavaScript中常见的高阶函数总结

    JavaScript的函数其实都指向某个变量,既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数,这篇文章主要给大家介绍了关于JavaScript中常见的高阶函数,需要的朋友可以参考下
    2022-02-02

最新评论