Android开发心得——百度地图sdk使用

本文介绍百度地图SDK中定位图标与覆盖层之间的冲突问题及解决方案。通过分析发现,清除地图上的覆盖物会导致定位图标消失,解决办法是在清除覆盖层后重新初始化地图的定位图层。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本博文欢迎转载,转载请注明来自http://www.cnblogs.com/qinxianyuzou/

如果各位看完这篇文章有任何疑问的欢迎交流,去新浪微博关注我Android小码农,共同探讨Android的应用开发的问题。

很久没有写过技术分享贴了,今天我们来讲一下百度地图sdk,顺便算是给自己马克一个。

事实上现在百度地图sdk已经很多东西都做好了,并不需要做很多工序,不过值得注意的是,现在百度把地图跟定位分开了,所以做一些定位之类的就需要两者结合。

百度地图sdk它本身的demo就是很好的事例,我并不认为自己能写出比它好多少的东西,所以大家参考demo就可以。

那么我今天要说什么呢?我就说说关于覆盖层跟定位的一些注意事项吧。

其实查看demo,你不难学会对地图定位的使用,你会轻易的展示出你的地图,覆盖层也是如此,不过我最近做app的时候就出现了一个奇葩的问题,那就是,当你用覆盖层标记一些你自己需要标记的信息是,定位图标却没有了。我那个郁闷啊,足足花了两天时间去研究为什么,但愣是没有研究出个所以然。不过最后不知道为何灵光一闪,定位图标跟覆盖层所继承的接口好像都是Overlay接口,那么会不会是相互影响到呢?在百度的demo里面,你不难发现覆盖层的调用其中有这么一句

1 mMapView.getOverlays().clear();

这一句代码的作用就是清楚已经在地图上的覆盖物的,我看了一下,发现定位的那个图标其实也是一个覆盖物,于是我联想到定位图标之所以消失,就是因为我清掉了覆盖物。经过测试,当我不再绘制覆盖物,也就是不调用上面这段代码的时候,定位图标就又出来了。那么结果就很明显了,之所以定位图标消失了,就是因为上面这句代码把它给清掉了。那怎么处理呢?我用了一个比较笨的方法,就是在清掉覆盖层以后,重新再给地图的定位图层初始化一次,那么定位图标就正常出现了。

mlmv_nearby_lv1.getOverlays().clear();
baiduMapMain.setLocationOverlay();
mlmv_nearby_lv1.getOverlays().add(itemOverlay);

 

转载于:https://www.cnblogs.com/qinxianyuzou/p/3718351.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值