在本文中,笔者根据网友的博客分享了使用百度地图的经验。在使用百度地图时,需要导入jar和so文件。如图所示,在已导入jar的情况下,出现了一个问题:SDKInitializer无法解析,即没有SDKInitializer这个类。
经过近两个小时的百度搜索,发现很少有人遇到这个问题,尽管尝试了很多方法,但仍未能解决。在经过一番思考之后,今天早上作者重新打开AS并进行了一些设置,问题终于得到了解决。
那么,如何解决这个问题呢?首先,我们需要了解在网上的教程大多只教授如何导入一个jar和一个so文件(最多再增加一个定位服务)。然而,新的百度地图API包含了许多jar和so文件。如图所示,作者之前的做法与老教程一样,仅仅选择了baidumapapi_map_v3_6_1这个jar进行导入,而so文件也仅选择了这个。结果导致了一个问题:找不到SDKInitializer。
为了解决这个问题,作者建议将所有的jar和so文件都导入。这样一来,问题就立刻得到了解决。此外,作者还提醒大家注意观察一下baidumapapi_map_v3_6_1这个文件的内存占用情况,它是最大的,其他的相对较小。因此,全部导入也不会对项目大小产生太大的影响。当然,如果对API有深入了解的话,可以根据实际需求灵活地选择使用哪些jar和so文件。
最后,附上作者解决问题后的效果图。同时,作者还想啰嗦一句,最好从百度地图demo中复制jar和so文件。在使用过程中,作者发现直接下载的jar和so文件可能会出现问题,具体原因尚不清楚。