首先申请百度地图 API KEY 后,下载 Android 地图 SDK
第一步:创建并配置工程;
将 jar 包,os 包导入 lib 文件夹下
第二步:在 AndroidManifest 中添加开发密钥、所需权限等信息;
(1)在 application 中添加开发密钥
- > -data android: name = "com.baidu.lbsapi.API_KEY"android: value = "自己申请的密钥" / >>
2)添加所需权限
- - permission android: name = "android.permission.ACCESS_NETWORK_STATE" / >-permission android: name = "android.permission.INTERNET" / >-permission android: name = "com.android.launcher.permission.READ_SETTINGS" / >-permission android: name = "android.permission.WAKE_LOCK" / >-permission android: name = "android.permission.CHANGE_WIFI_STATE" / >-permission android: name = "android.permission.ACCESS_WIFI_STATE" / >-permission android: name = "android.permission.GET_TASKS" / >-permission android: name = "android.permission.WRITE_EXTERNAL_STORAGE" / >-permission android: name = "android.permission.WRITE_SETTINGS" / >
第三步,在布局 xml 文件中添加地图控件;
- baidu.mapapi.map.MapView android: id = "@+id/bmapView"android: layout_width = "fill_parent"android: layout_height = "fill_parent"android: clickable = "true" / >
第四步,在应用程序创建时初始化 SDK 引用的 Context 全局变量:
- public class MainActivity extends Activity {@Override protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- //在使用SDK各组件之前初始化context信息,传入ApplicationContext
- //注意该方法要再setContentView方法之前实现
- SDKInitializer.initialize(getApplicationContext());
- setContentView(R.layout.activity_main);
- }
- }
注意:在 SDK 各功能组件使用之前都需要调用
SDKInitializer.initialize(getApplicationContext());,因此我们建议该方法放在 Application 的初始化方法中
第五步,创建地图 Activity,管理地图生命周期;
- public class MainActivity extends Activity {
- MapView mMapView = null;@Override protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- //在使用SDK各组件之前初始化context信息,传入ApplicationContext
- //注意该方法要再setContentView方法之前实现
- SDKInitializer.initialize(getApplicationContext());
- setContentView(R.layout.activity_main);
- //获取地图控件引用
- mMapView = (MapView) findViewById(R.id.bmapView);
- }@Override protected void onDestroy() {
- super.onDestroy();
- //在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理
- mMapView.onDestroy();
- }@Override protected void onResume() {
- super.onResume();
- //在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理
- mMapView.onResume();
- }@Override protected void onPause() {
- super.onPause();
- //在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理
- mMapView.onPause();
- }
- }
来源: http://www.bubuko.com/infodetail-1862234.html