第一步(百度地图官网上创建应用)
(demo已上传)
(1)先在百度地图官网创建应用
![](https://i-blog.csdnimg.cn/blog_migrate/8d001384e52fd6243a2f2792b5a2a21a.png)
注意
:(这里面的
发布版本SHA1可以通过通过以下方法得到
)
1.运行进入控制台
![](https://i-blog.csdnimg.cn/blog_migrate/8330b378de4ddc41808300af708bc05a.png)
2.
继续在控制台输入命令
。
调试版本使用 debug.keystore,命令为:
keytool -list -v -keystore debug.keystore
。
![](https://i-blog.csdnimg.cn/blog_migrate/58a4348c25b986935159448b0c73d52a.png)
3.在这里可以得到SHA1的值并且 然后把得到的SHA1值填入到
![](https://i-blog.csdnimg.cn/blog_migrate/cf4a424b6964d4a7ae70a93de89adab0.png)
第二步 (下载SDK)
![](https://i-blog.csdnimg.cn/blog_migrate/04316ff507d784555bb85ddaedb1b25b.png)
第三步 导入架抱和各种权限
1.Androidstudio配置
(1)把libs文件夹下的所有文件
![](https://i-blog.csdnimg.cn/blog_migrate/ed2eff37f3f9b8c3d5e0b6fbe40c5485.png)
导入studio工程的libs 下
![](https://i-blog.csdnimg.cn/blog_migrate/2c79f8d0b6fd627f520d6623f72f38ad.png)
(2)
在app文件夹下的bulid.gradle加入代码: jniLibs.srcDir 'libs' ,详细代码如下
:
sourceSets{
main{ jniLibs.srcDir
'libs'
//说明so的路径为该libs路径,关联所有地图SDK的so文件
}}
2.在
AndroidManifest中 配置权限
(1)
在application中添加开发密钥
<meta-data
android:name
=
"com.baidu.lbsapi.API_KEY"
android:value
=
"开发者 key"
/>
(开发者KEY是 下面黄线标的)
![](https://i-blog.csdnimg.cn/blog_migrate/a007b6aacac83cf55897d7543c5673e6.png)
(2)
添加权限(
权限应添加在 appliction 之外,如添加到appliction 内部,会导致无法访问网络,不显示地图
)
<uses-permission
android:name
=
"android.permission.ACCESS_NETWORK_STATE"
/>
//获取设备网络状态,禁用后无法获取网络状态
<uses-permission
android:name
=
"android.permission.INTERNET"
/>
//网络权限,当禁用后,无法进行检索等相关业务
<uses-permission
android:name
=
"android.permission.READ_PHONE_STATE"
/>
//读取设备硬件信息,统计数据
<uses-permission
android:name
=
"com.android.launcher.permission.READ_SETTINGS"
/>
//读取系统信息,包含系统版本等信息,用作统计
<uses-permission
android:name
=
"android.permission.ACCESS_WIFI_STATE"
/>
//获取设备的网络状态,鉴权所需网络代理
<uses-permission
android:name
=
"android.permission.WRITE_EXTERNAL_STORAGE"
/>
//允许sd卡写权限,需写入地图数据,禁用后无法显示地图
<uses-permission
android:name
=
"android.permission.WRITE_SETTINGS"
/>
//获取统计数据
<uses-permission
android:name
=
"android.permission.GET_TASKS"
/>
//鉴权所需该权限获取进程列表
<uses-permission
android:name
=
"android.permission.CAMERA"
/>
//使用步行AR导航,配置Camera权限
第四步
在布局xml文件中添加地图控件
<com.baidu.mapapi.map.MapView
android:id
=
"@+id/bmapView"
android:layout_width
=
"fill_parent"
android:layout_height
=
"fill_parent"
android:clickable
=
"true"
/>
第五步
在应用程序创建时初始化 SDK引用的Context 全局变量
创建一个类继承
Application 创建oncreate方法里面写
应用程序创建时初始化 SDK引用的Context 全局变量
//在使用SDK各组件之前初始化context信息,传入ApplicationContext
//注意该方法要再setContentView方法之前实现
SDKInitializer
.initialize(getApplicationContext());
![](https://i-blog.csdnimg.cn/blog_migrate/f99cb3fff809b2ed80ee5c9a516beae6.png)
第五步
创建地图Activity,管理地图生命周期
(1) 创建对象
private
MapView
mMapView =
null
;
(2)
oncreate里面写
//获取地图控件引用
mMapView
= (MapView) findViewById(R.id.
bmapView
);
(3)
写这几个方法
@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();
}