第一次学习使用百度地图,按照官网http://developer.baidu.com/map/index.php?title=androidsdk/guide/hellobaidumap的使用指南,首先创建应用获取apiKey(不过先要注册百度账号),之后下载相关的jar包和so文件网址http://developer.baidu.com/map/index.php?title=androidsdk/sdkandev-download。下载完成后新建一个android 工程,将基础文件libBaiduMapSDK_v3_4_0_15.so和包baidumapapi_v3_4_0.jar复制到libs下,记得右击baidumapapi_v3_4_0.jar包选择build path,点击add to build path添加到工程,否则无法再代码中使用。接下来根据开发指南一步一步照着做。
SDKInitializer.initialize(getApplicationContext());,因此我们建议该方法放在Application的初始化方法中
根据官网的这个建议,我决定做的完美点在 Application的子类中初始化sdkpublic class MyApplication extends Application{
@Override
public void onCreate() {
//初始化百度地图SDK
SDKInitializer.initialize(getApplicationContext());
super.onCreate();
}
}
,可是却出现了这个错误Caused by: android.view.InflateException: Binary XML file line #7: Error inflating class com.baidu.mapapi.map.MapView,后来找到了解决办法:
在manifest文件中的application节点添加android:name="Application子类的全类名"。
这样做的原因是指定应用程序启动的application子类,这样#onCreate方法才会在程序启动时最先执行,这样sdk 的初始化才起作用。