Android      Android集成百度地图SDK和定位SDK时的几个新鲜事   
文章目录  [隐藏]

https://lbsyun.baidu.com/index.php?title=androidsdk
https://lbsyun.baidu.com/index.php?title=android-locsdk
在官方api上没看到有相关说明,这里记录一下。
本文百度sdk版本:
BaiduMapSDK_Location_All:9.3.7 全量定位组件
BaiduMapSDK_Map:7.5.4 地图组件

1.BaiduMap配置

有时setMaxAndMinZoomLevel出现无效的情况,发现是代码顺序的问题。

根据工单描述,官方就是这样设计的。

2.首次定位绘制折线崩溃

有个全局的覆盖物集合,用于存储已经显示过的覆盖物。
private List<Overlay> lastOverlayList = new ArrayList<>();
存储在地图上显示的Polygon、Polyline、List<Marker>。

进入界面后,在定位监听器BDAbstractLocationListener的onReceiveLocation(BDLocation location)回调中,根据需要创建3种样式的覆盖物。


同时,创建三种覆盖物之前,都先执行清除已有的覆盖物。


遇到的情况是,如果首次定位回调,创建的是折线Polyline,就会崩溃。指向的代码是“baiduMap.removeOverLays(lastOverlayList) ”,日志示样:

提交工单,回复问我使用的是“哪个版本”,“具体是如何使用的”,这个在创建工单时都有说明;还让我代码截图一下,截图得好几个类好几张,还得做说明,算了吧。
测试多次,只在进入界面定位后首次绘制的是Polyline才发生。解决的办法比较低级,先绘制一个Marker。

3.部分手机地图灰色不显示

测试机是华为P10,VTR-AL00,鸿蒙2.0。这个手机的GPS只有一个开关选项,没有低精度、高精度等选项。
联网,开了GPS的情况下,有时地图显示是格子,有时是灰色,放大有字样“此区域无卫星图”。日志返回定位“4.9E -324”。
在华为nova9、小米上测试都无问题,可正常显示。
签名文件sha1、appid、动态申请权限等排除。最后发现还是缺少权限注册了。以下4个要齐全。



- end

承接App定制、企业web站点、办公系统软件 设计开发,外包项目,毕设