Zane'Blog

Android之百度地图系列教程二:集成开发

贫穷不是不赚钱,而是丧失了从这个社会获取资源的能力

在AndroidManifest中添加开发密钥、所需权限等信息

在application中添加开发密钥

1
2
3
4
<!--百度地图Key-->
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="访问应用(AK)" />

添加所需权限

1
2
3
4
5
6
7
8
9
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS" />

在布局xml文件中添加地图控件

1
2
3
4
5
<com.baidu.mapapi.map.MapView
android:id="@+id/bmapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true" />

在应用程序创建时初始化SDK引用的Context 全局变量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/**
* 在SDK各功能组件使用之前都需要调用SDKInitializer.initialize(getApplicationContext());
* 因此建议该方法放在Application的初始化方法中
* Created by zane on 2017/3/31.
*/
public class DevApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
//在使用SDK各组件之前初始化context信息,传入ApplicationContext
//注意该方法要再setContentView方法之前实现
SDKInitializer.initialize(getApplicationContext());
}
}

在AndroidMenifest.xml中引用Application

1
2
3
4
<application
android:name=".DevApplication"
...>
</application>

创建地图Activity,管理地图生命周期

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
public class MainActivity extends Activity {
@BindView(R.id.bmapView)
MapView mMapView;
private BaiduMap mBaiduMap = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
//获取地图控件引用
mBaiduMap = mMapView.getMap();
//普通地图
mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);
}
@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();
}
}

完成以上步骤后,运行程序,即可在您的应用中显示如下地图

这里写图片描述

坚持原创技术分享,您的支持将鼓励我继续创作!