zoukankan      html  css  js  c++  java
  • 行者app定位不准的问题分析

           逝者如斯夫,来到印尼首都4个月了,疫情期间,骑行算是一项相对安全的运动。行者上的数据显示,探索雅加达将近1200公里,YouTube拍了些小短片(搜索zhonghaijing2017@gmail.com可见)。6月份总结了篇博客《行者app适配国外环境解决》,但实际上还遗留一个问题:app实时定位不准,虽然对骑行老鸟影响不大,但体验还是不太友好。有始有终,研究了一下定位不准的问题,分享如下,

     如上图,实际的终点和地图上的定位是有偏移的,而在骑行过程中,定位与实际位置,也是一直存在偏差。

    1、什么原因会导致定位偏差?

    首先查到的是知乎上的一篇文章《app定位和地图的那些坑》,链接https://zhuanlan.zhihu.com/p/22057348,提到了坐标系和精度的问题。百度地图在国内和国外使用不同的坐标系,而不同的定位方法,定位的精度也是不同。

    于是对app开始了一系列测试,

    a、使用GPS定位,行者APP定位的偏差位置总是固定的;

    b、关闭GPS,用手机网络定位,行者APP定位准确;

    c、关闭GPS,用手机网络定位,离开约400米,一段时间再次回到住处,位置出现200米以上偏差;

    2、百度地图SDK对国内外的坐标使用有什么要求?

     参考于百度地图开放平台指南https://lbsyun.baidu.com/index.php?title=androidsdk/guide/coordtran

     

     

    到这里,问题的定位开始有了方向。

    3、寻找验证工具

    a、从google map中https://www.google.com.hk/maps/获取实际点和定位点的经纬度

    b、利用在线工具https://tool.lu/coordinate/对坐标系经纬度进行转化

     c、数据比较

    通过前两步的数据得到的web中定位实际点位置,与行者app中的的实际定位位置一致。

    4、结论(推测)

    如上篇blog提到的,行者app目前只支持国内环境,没有海外版,国外使用需适配。

    a、从验证的数据来看,行者调用GPS定位服务时,是先将坐标系GCJ02转换为BD09,再访问百度地图数据,在国内是符合百度地图开放平台规范的;到了国外后,应该不需要再作坐标系转换,直接使用即可;

    b、行者优先使用GPS进行高精度定位,当GPS关闭时,或行者没赋予调用GPS权限时,会使用网络进行粗略定位;

    b、关闭GPS的情况下,用手机网络进行定位,为什么两次定位到的位置不同,应该是根据手机接入的基站的经纬度来判断位置,接入的基站不同,定位就不同。

    全力以赴不留遗憾
  • 相关阅读:
    HDU_2030——统计文本中汉字的个数
    HDU_2028——求多个数的最小公倍数
    HDU_2027——统计元音
    HDU_2026——将单词的首字母变大写
    HDU_2025——查找最大的字母
    HDU_2024——判断字符串是否是c语言合法标识符
    HDU_2023——求平均成绩
    HDU_2022——海选女主角
    HDU_2021——最少RMB问题
    HDU_2020——按绝对值排序
  • 原文地址:https://www.cnblogs.com/zhonghaijing/p/15204254.html
Copyright © 2011-2022 走看看