记录百度地图使用中遇到的问题

在使用百度地图SDK时遇到了定位不准、黑屏闪退以及搜索功能失效等问题。经过排查,发现animateTo()方法在主线程调用会导致黑屏,解决方法是将其放在子线程。同时,错误地在onDestroy()中销毁MapView会影响搜索监听,不销毁则可能导致错误。地图中心点跳转延迟可能因硬件加速导致,关闭硬件加速虽能解决跳转问题,但影响搜索结果。最后,确保在使用MKSearch前调用BMapManager的start方法,且搜索监听需在正确线程执行。
摘要由CSDN通过智能技术生成

昨天测试的时候,发现已经做好的百度地图居然是有时候点进去可以,有时候点进去不能定位到指定地点。而且还有黑屏闪退的情况

在网上搜了很久,也没找到满意答案,最后发现有一个人说是

MapController对象的animateTo()方法不能再主线程内调用。会出现黑屏的现象。可以使用post方法调用

可是post方法是什么,我不知道

但是我抓住了一个关键词,是animateTo()方法和线程的问题

所以我就开了一个线程,把MKSearch的初始化监听都放到了子线程里

发现就ok了

其中走了很多弯路,在此记录一下

1:在使用MKSearch类的时候,在onDestroy()方法里,不要调用MapView的destroy方法。因为搜索过程是异步进行的,如果在MKSearchListener里使用到MapView对象,因为是异步,所以可能会在MKSearchListener的方法里使用到销毁后的MapView。

可是呢,如果在onDestroy()方法里不

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值