第三方百度地图如何实现简单的效果

    
第一步(百度地图官网上创建应用)
(demo已上传)
(1)先在百度地图官网创建应用

注意 :(这里面的 发布版本SHA1可以通过通过以下方法得到
1.运行进入控制台

2. 继续在控制台输入命令
调试版本使用 debug.keystore,命令为: keytool -list -v -keystore debug.keystore

3.在这里可以得到SHA1的值并且 然后把得到的SHA1值填入到

第二步 (下载SDK)


第三步 导入架抱和各种权限
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中添加开发密钥
<meta-data
android:name = "com.baidu.lbsapi.API_KEY"
android:value = "开发者 key" />
(开发者KEY是 下面黄线标的)

(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());

第五步 创建地图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();
}

猜你喜欢

转载自blog.csdn.net/lxd13699/article/details/80455622