zoukankan      html  css  js  c++  java
  • 微信小程序getLocation定位偏差问题

    2021年5月11日13:23:17

    首先是坐标系的问题

    WGS84 :地理坐标系统,Google Earth和中国外的Google Map使用,另外,目前基本上所有定位空间位置的设备都使用这种坐标系统,例如手机的GPS系统。
    GCJ-02:投影坐标系统,也就是我们平常所说的火星坐标系,Google Map中国、高德和腾讯地图使用,这个是中国自己在WGS84基础上加密而成,目的显而易见。
    BD09:投影坐标系统,百度地图使用,在GCJ-02基础上二次加密而成。

    国内各地图API坐标系统比较

    API坐标系
    百度地图API 百度坐标
    腾讯搜搜地图API 火星坐标
    搜狐搜狗地图API 搜狗坐标
    阿里云地图API 火星坐标
    图吧MapBar地图API 图吧坐标
    高德MapABC地图API 火星坐标
    灵图51ditu地图API 火星坐标


     
     
     
     
     
     
     
     
     
     
     
     
    当然你可以用过坐标转换来提高精度,但是
    https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.getLocation.html
     

    wx.getLocation返回的精度只有五位数,相比其他地图API返回8-10位或者更多,即使转换也不是一个好办法

    后台使用的是腾讯地图定位的gps,小程序默认返回的是wgs84,经过转换依然偏差还是很大,解决精度的办法就是

    wx.getLocation({
     type: 'gcj02',
     success (res) {
       const latitude = res.latitude
       const longitude = res.longitude
       const speed = res.speed
       const accuracy = res.accuracy
     }
    })
    

     即使开启高精度 isHighAccuracy: true 依然没什么屁用

    gcj02的坐标就是腾讯本身使用的坐标体系,所以在微信接口内部转换的精度损失会很小,经过测试,基本定位精度会显示在0.01KM,基本不影响用户使用
     
    参考
    链接:https://www.jianshu.com/p/c39a2c72dc65

     
     
    QQ群 247823727 博客文件如果不能下载请进群下载
    如果公司项目有技术瓶颈问题,如有需要,请联系我,提供技术服务 QQ: 903464207
  • 相关阅读:
    项目maven update 后启动项目出现导常:org.springframework.web.context.ContextLoaderListener
    oracle 函数
    sql 字符串函数、数学函数
    sql 内连接 子查询 合并查询
    sql 单表查询练习
    oracle 实现主键自增
    create alter rename desc select update delete insert
    oracle 数据类型
    oracle 导入导出 dmp 的三种方式
    oracle imp dmp
  • 原文地址:https://www.cnblogs.com/zx-admin/p/14754894.html
Copyright © 2011-2022 走看看