第一步(百度地图官网上创建应用)
(demo已上传)
(1)先在百度地图官网创建应用
http://lbsyun.baidu.com/apiconsole/key
注意
:(这里面的
发布版本SHA1可以通过通过以下方法得到
)
1.运行进入控制台
2.
继续在控制台输入命令
。
调试版本使用 debug.keystore,命令为:
keytool -list -v -keystore debug.keystore
。
3.在这里可以得到SHA1的值并且 然后把得到的SHA1值填入到
第二步 (下载SDK)
http://lbsyun.baidu.com/index.php?title=androidsdk
第三步 导入架抱和各种权限
1.Androidstudio配置
(1)把libs文件夹下的所有文件
导入studio工程的libs 下
(2)
在app文件夹下的bulid.gradle加入代码: jniLibs.srcDir 'libs' ,详细代码如下
:
sourceSets{
main{ jniLibs.srcDir
'libs'
//说明so的路径为该libs路径,关联所有地图SDK的so文件
}}
2.在
AndroidManifest中 配置权限
(1)
在application中添加开发密钥
android:name
=
"com.baidu.lbsapi.API_KEY"
android:value
=
"开发者 key"
/>
(开发者KEY是 下面黄线标的)
(2)
添加权限(
权限应添加在 appliction 之外,如添加到appliction 内部,会导致无法访问网络,不显示地图
)
android:name
=
"android.permission.ACCESS_NETWORK_STATE"
/>
//获取设备网络状态,禁用后无法获取网络状态
android:name
=
"android.permission.INTERNET"
/>
//网络权限,当禁用后,无法进行检索等相关业务
android:name
=
"android.permission.READ_PHONE_STATE"
/>
//读取设备硬件信息,统计数据
android:name
=
"com.android.launcher.permission.READ_SETTINGS"
/>
//读取系统信息,包含系统版本等信息,用作统计
android:name
=
"android.permission.ACCESS_WIFI_STATE"
/>
//获取设备的网络状态,鉴权所需网络代理
android:name
=
"android.permission.WRITE_EXTERNAL_STORAGE"
/>
//允许sd卡写权限,需写入地图数据,禁用后无法显示地图
android:name
=
"android.permission.WRITE_SETTINGS"
/>
//获取统计数据
android:name
=
"android.permission.GET_TASKS"
/>
//鉴权所需该权限获取进程列表
android:name
=
"android.permission.CAMERA"
/>
//使用步行AR导航,配置Camera权限
第四步
在布局xml文件中添加地图控件
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());
第五步
创建地图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();
}