百度地图安卓版详细接入流程解读
一、接入Android地图SDK1.1 功能介绍:1.2 接入百度地图前的准备1.1.1 访问官网,并下载开发包1.1.2 获取开发密钥1.1.3 项目环境搭建
二、开发案例演示(参考官网)2.3 开发案例一:显示地图2.3.1 配置AndroidManifest.xml文件2.3.2 在布局文件中添加地图容器2.3.3 地图初始化
三、 等待补充
一、接入Android地图SDK
复制官网的功能介绍:百度地图SDK是一套应用程序接口, 通过调用地图SDK接口,开发者可以轻松访问百度地图的服务和数据,构建功能丰富、交互性强的地图类应用程序。
1.1 功能介绍:
复制官网的功能介绍:百度地图SDK是一套应用程序接口, 通过调用地图SDK接口,开发者可以轻松访问百度地图的服务和数据,构建功能丰富、交互性强的地图类应用程序。
1.2 接入百度地图前的准备
1.1.1 访问官网,并下载开发包
1、百度搜索,找到并进入百度地图开放平台:http://lbsyun.baidu.com/ 2、在导航栏上面找到开发文档,二级导航栏中找到并点击Android地图SDK 3、跳转到Android地图SDK说明页面,左侧导航栏选择产品下载,然后再点击自定义下载, 4、这里我根据我的需求,勾选了几个,然后点击下方的按钮,分别下载 开发包、示例代码、类参考(API说明文档) 5、下载以后并解压,开发准备就绪。 ![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/7203939b133a8349349f5063d928b0fc.png)
1.1.2 获取开发密钥
1、进入功能说明页,左侧导航栏点击概述,滑动至页面最底端可以看到如下提示: 2、提示说明,接入百度地图进行开发先登录百度账号(没有的自己去申请一个),然后通过账号申请一个开发者密钥,点击获取密钥。 3、在开发者控制台创建一个应用,填写一下应用名称,应用类型选择安卓,启用服务可以默认全选,包名需要根据自己安卓项目文件中的app目录下的build.gradle下的applicationId填写,AndroidManifest中的package的值最好跟applicationId保持一致,这是一种开发规范。 4、可以看到下面还有需要填写发布版SHA1和开发版SHA1这两个是什么东西呢?我在网上百度了一下,其实就是用于数字签名的玩意儿,叫做消息摘要,涉及到安全领域,具体大家自行了解,反正这两个必填。 5、为了获得这两个消息摘要,我费了九牛二虎之力,我先点击了上面的提示,查看详细配置方法。 6、看了一通官方说明文档,我顺利得到了开发版SHA1,操作方法如下图(截图来自官网) 7、这个很简单,给大家再梳理下流程,windows版进入电脑的用户文件夹,具体位置在C:\Users\CandyWall.android,CandyWall是我电脑登录时候的用户名,debug.keystore是开发工具自己生成的密钥库,这个密钥库从你安装Android Studio的时候就带着了,通过这个密钥库我们可以获取开发版SHA1 8、Win+R输入cmd启动黑窗口,先cd到刚才的.android目录,然后输入命令 keytool -list -v -keystore debug.keystore,提示需要输入密钥库口令,这个口令默认是Android,输入密钥口令的时候不显示哦。输入完回车,打印如下信息说明口令输入正确。 证书指纹里面的SHA1就是我们所需要的开发版SHA1,复制即可。 9、接下来我根据官网说明,准备拿发布版SHA1的时候,发现这么一句话, 10、我把官网上这一页关于SHA1获取的说明,反复看了几遍,思来想去,辗转反侧,发布版SHA1的获取方法居然就只有这么一句话,纳尼,我特么,只能苦逼的一顿百度,找了好几篇帖子,大多数都是让我们自己生成一个关于APP的私人密钥库,然后通过命令keytool -list-v -keystore + apk的keystore,这不就是跟官网说的一样吗,烦死了,找了半天我发现这篇帖子比较好使,作者提到了如何通过Android Studio来产生自己的密钥库,我非常感谢这个作者。原文地址如下:https://www.cnblogs.com/zhangqie/p/6439052.html 一顿折腾以后我生成了我自己的密钥库,如下图。 等下,这个文件的后缀是.jks,之前随开发工具自带的系统密钥库是debug.keystore,不是应该是.keystore结尾吗,这里怎么是jks 结尾的?为了解决这个疑惑,我又是一通百度,据网友说,用eclipse开发安卓应用生成的密钥库的后缀名是.keystore,而Android Studio开发安卓应用生成是密钥库的后缀名是.jks,所以说这个后缀名也是密钥库的一种,不用管它。 11、有了这个密钥库就好办了,接下来获取开发版SHA1,方法照旧,启动黑窗口,cd到.android目录下,输入如下指令,D\TGQ_Android_Project\candywall.jks,是我密钥所在的路径。输入密钥库口令以后复制SHA1即可。 12、好了,到这里,创建应用需要填写的内容就都OK了。 后面调用百度地图接口都需要这个开发密钥。 ![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/f3ce161d9df45fc5e887fb920dbcda5b.png)
1.1.3 项目环境搭建
1、拷贝下载好的BaiduLBS_Android.jar包到项目的lib目录 在src/main/目录下新建jniLibs目录,将如下CPU架构对应的so文件夹拷贝到jniLibs目录下 拷贝完如下图所示: 点击上方按钮打开Project Structure,依次点击app、Dependencies、添加Jar dependency 选择刚才lib目录下的百度地图开发jar包 点击OK添加jar包成功 ![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/ab982ba7740c14821397a8ecab671fd3.png)
二、开发案例演示(参考官网)
2.3 开发案例一:显示地图
2.3.1 配置AndroidManifest.xml文件
1.在中加入如下代码配置开发密钥(AK):
2. 在外部添加如下权限声明:
2.3.2 在布局文件中添加地图容器
1、MapView是View的一个子类,用于在Android View中放置地图。MapView的使用方法与Android提供的其他View一样。
2.3.3 地图初始化
1、新建一个自定义的Application,在其onCreate方法中完成SDK的初始化。示例代码如下:
public class DemoApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
//在使用SDK各组件之前初始化context信息,传入ApplicationContext
SDKInitializer.initialize(this);
//自4.3.0起,百度地图SDK所有接口均支持百度坐标和国测局坐标,用此方法设置您使用的坐标类型.
//包括BD09LL和GCJ02两种坐标,默认是BD09LL坐标。
//SDKInitializer.setCoordType(CoordType.BD09LL);
}
}
2、在AndroidManifest.xml文件中声明该Application 3、以下示例代码简述对地图生命周期的管理:
public class MainActivity extends Activity {
private MapView mMapView = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取地图控件引用
mMapView = (MapView) findViewById(R.id.bmapView);
}
@Override
protected void onResume() {
super.onResume();
//在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理
mMapView.onResume();
}
@Override
protected void onPause() {
super.onPause();
//在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理
mMapView.onPause();
}
@Override
protected void onDestroy() {
super.onDestroy();
//在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理
mMapView.onDestroy();
}
}
三、 等待补充
未完待续,敬请期待!!!!喜欢你就赞我一下吧,谢谢支持!
|