• 发现最新版百度Android 定位SDK v6.1.3 网络定位bug


    对于百度地图已经实在忍无可忍了,实验室两年以前的一个项目用到了百度地图,以前师兄毕业了,我来维护这个破项目,百度地图推出新版本出来后,老版本的api不能用了,不能做到向下兼容吗?换掉少量的api也就算了,居然整体风格都换了,
    我得先学老版本的api看懂师兄留下的代码,再学新版本的api修改这个项目,这也没啥,然而你新版本官方demo怎么还留bug!!折腾一天后发现,这是百度Android 定位SDK的bug!!!

    使用百度官网提供的demo学习时,发现一个bug
    //        高精度定位模式:这种定位模式下,会同时使用网络定位和GPS定位,优先返回最高精度的定位结果;
    option.setLocationMode(LocationClientOption.LocationMode.Hight_Accuracy);




    定位结果:纬度:4.940656E-318经度4.940656E-318 (这个经纬度反正地球上是没有,也许火星上有,我读书少)


    after各种折腾以后,after怀疑人生以后,我不再怀疑代码,我开始怀疑是不是这个版本定位sdk有问题,
    百度api提供了还有以下两种定位模式,

    //        低功耗定位模式:这种定位模式下,不会使用GPS,只会使用网络定位(Wi-Fi和基站定位);
    option.setLocationMode(LocationClientOption.LocationMode.Battery_Saving);

    //        仅用设备定位模式:这种定位模式下,不需要连接网络,只使用GPS进行定位,这种模式下不支持室内环境的定位。

    option.setLocationMode(LocationClientOption.LocationMode.Device_Sensors);

    我将代码改成最下面这种,只使用设备自带的gps定位;

    改好以后,拿到室外,定位成功,


    综上:新版百度Android 定位SDK v6.1.3 网络定位有bug,不过还好这个项目是外业采集设置站位用的,外面也没有wifi,基本也是采用gps定位。


    和百度sdk工程师沟通后对方给出的解释是: wifi定位失败的原因是因为,周围wifi热点太少或者不稳定,或者是移动设备本身扫描热点的问题,导致不能进行wifi定位
  • 相关阅读:
    1022.游船出租
    1021.统计字符
    1020.最小长方形
    1017.还是畅通工程
    1019.简单计算器
    1015.还是A+B
    1014.排名
    1013.开门人和关门人
    1011.最大连续子序列
    1009.二叉搜索树
  • 原文地址:https://www.cnblogs.com/mengjinluohua/p/5696920.html
Copyright © 2020-2023  润新知