1.最坑的资源文件
废话不多说,直接进入到踩坑历程。 在使用百度地图SDK之前,我还从来没有遇见过某一个开发团队把自己的依赖资源文件命名为.png文件,直到用了百度地图SDK。
当时我准备调用百度的步行导航功能,发现百度有一个demo。其结构如下:

看了看感觉和我的工程配置也没什么不同,于是参考了一下,并且copy了相关的代码。结果到我的工程运行时,却提示导航引擎初始化失败。查了一下博客,竟然是因为我没有拷贝assets下的这张png图片!

实际上最开始我并非没注意过这个png文件,我甚至一度在Android studio中“预览了这张图片”。

我万万没想到这竟然是个资源文件,因而无法被Androidstudio识别,才显示成这样。我一直以为这个图就是一个错误提示,虽然文件名也给了我暗示。
然而我把这个文件拷贝到我的工程目录之后,仍然是导航引擎初始化失败。仔细一看,demo里面的所有资源版本全部是5.4.4,我从官网下的环境都是6.0.0。从官网下载6.0.0版本的这个png文件,顺利运行。
2.地图黑屏问题
通常使用的百度地图视图组件是com.baidu.mapapi.map.MapView,然而当使用这个控件的时候,如果将其放在某个fragment中,当按下home键再次进入应用时,这个组件就会黑掉,由于这个MapView通常占据全屏,因此很有可能导致黑屏。
查博客,解释是,应该用TextureMapView,就不会黑屏了。一些说法是,这两种View的区别在于surfaceView(有点像画布canvas)的实现上,然而官方文档似乎一点也没提这一点。

官方文档在描述这两个类的时候,用的文字几乎一致。真是典型的东西好用文档坑!
本文记录了使用百度地图SDK过程中遇到的两个主要问题:一是资源文件命名误导导致的导航引擎初始化失败;二是MapView在特定场景下出现黑屏现象。通过调整资源版本和使用TextureMapView,最终解决了这些问题。
8096

被折叠的 条评论
为什么被折叠?



