AndroidStudio 中使用 百度地图 <一> 百度地图的导入和集成,个人摘要
2016-03-12 17:27
507 查看
百度地图官方的简介:http://lbsyun.baidu.com/index.php?title=androidsdk/guide/introduction
注意 POI 是Point of interest的简写。
其实官方的guide很好,但是就是没有SHA1的生成的过程,我只是把这个添加进来了。
整体的过程是:
0:创建keystore 文件,然后命令行得到SHA1,然后通过这个SHA1 和包名得到Key,
1:将Baidu SDK 集成到Android Studio 中,
2:使用引入的Baidu SDK,包括在Application 里面配置key 信息,然后是导入需要的权限,还有初始化
百度地图 Android SDK是一套基于Android 2.1及以上版本设备的应用程序接口, 您可以通过该接口实现丰富的LBS功能:
地图:提供地图(2D、3D)的展示和缩放、平移、旋转、改变视角等地图操作;
POI检索:可根据关键字,对POI数据进行周边、区域和城市内三种检索;
地理编码:提供地理坐标和地址之间相互转换的能力;
线路规划:支持公交信息查询、公交换乘查询、驾车线路规划和步行路径检索;
覆盖物:提供多种地图覆盖物(自定义标注、几何图形、文字绘制、地形图图层、热力图图层等),满足开发者的各种需求;
定位:采用多种定位模式,使用定位SDK获取位置信息,使用地图SDK我的位置图层进行位置展示;
离线地图:支持使用离线地图,节省用户流量,同时为用户带来更好的地图体验;
调启百度地图:利用SDK接口,直接在本地打开百度地图客户端或WebApp,实现地图功能。
周边雷达:利用周边雷达功能,开发者可在App内低成本、快速实现查找周边使用相同App的用户位置的功能。
LBS云检索:支持用户检索存储在LBS云内的自有POI数据,并展示;
瓦片图层:支持开发者在地图上添加自有瓦片数据;
特色功能:提供短串分享、Place详情检索、热力图等特色功能,帮助开发者搭建功能更加强大的应用;
0: 首先要生成一个key store的文件,
这样就可以得到key 文件了,例如这个key 文件的名字叫做WearApkKey.jks
先找到你.android 的目录,这个目录在你的用户的目录里面,然后将刚才的WearApkKey.jks 拷贝到这个目录下面。然后在cmd 命令行里面,在这个目录下面执行如下的蓝色命令,会得到很多的信息,最有用的就是SHA1的信息。
C:\Users\Kodulf\.android>keytool -list -v -keystore WearApkKey.jks
输入密钥库口令:
密钥库类型: JKS
密钥库提供方: SUN
您的密钥库包含 1 个条目
别名: wearapkkey
创建日期: 2016-2-3
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
所有者: CN=zqxue
发布者: CN=zqxue
序列号: 36cfa4fb
有效期开始日期: Wed Feb 03 09:51:48 CST 2016, 截止日期: Sun Jan 27 09:51:48 CS
2041
证书指纹:
MD5: C9:9F:9A:4B:C8:7A:7D:2F:D8:B7:93:4D:AF:E3:A6:AD
SHA1: 3D:BB:11:01:E4:2E:B0:FE:AF:AF:2C:30:73:1E:14:A8:03:E6:06:F0
SHA256: 67:FA:6F:F8:6C:48:72:9B:22:D8:C7:2E:D5:F4:88:B3:FB:85:94:AA:B
91:A2:5E:2A:C8:A7:BE:5F:15:B4:8B
签名算法名称: SHA256withRSA
版本: 3
扩展:
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 80 20 B5 17 BB 78 9E D1 A4 4F 04 D6 B7 58 CE 3B . ...x...O...X.;
0010: C3 55 92 46 .U.F
]
]
这个时候就得到了SHA1的码了。就是上面的那个,
然后去申请KEY
1:申请Key,可以参考官方的这个,注意这里的类型一定要选择Android SDK,然后包名就是build.gradle 里面的applicationId
申请密钥
2:下载SDK,然后导入Android
Studio 中,进行集成,
---------------------------------------
将jar包放到libs 里面,然后右键,在菜单里面选择“add as libary”
然后再main 的文件夹下新建jniLibs。
将除了jar文件的文件夹放到jniLibs里面了。
点击rebuild,或者右边栏的gradle的刷新按钮。
--------------------------------------
可以参考
配置环境及发布
3:然后就是按照官网的写一个Hello BaiDu
Hello BaiduMapAndroid
SDK
Android开发工具有很多。在此,我们推荐开发者使用Eclipse作为自己的开发工具,本套开发指南也是针对Eclipse开发环境下进行编写的。
百度地图SDK为开发者提供了便捷的显示百度地图数据的接口,通过以下几步操作,即可在您的应用中使用百度地图数据:
第一步:创建并配置工程(具体方法参见工程配置部分的介绍);
第二步:在AndroidManifest中添加开发密钥、所需权限等信息;
(1)在application中添加开发密钥
2)添加所需权限
第三步,在布局xml文件中添加地图控件;
第四步,在应用程序创建时初始化 SDK引用的Context 全局变量:
注意:在SDK各功能组件使用之前都需要调用
SDKInitializer.initialize(getApplicationContext());,因此我们建议该方法放在Application的初始化方法中
第五步,创建地图Activity,管理地图生命周期;
完成以上步骤后,运行程序,即可在您的应用中显示如下地图:
以上的例子为大家介绍了如何构建一个基础的地图页面。地图控件自v2.3.5版本起,支持多实例,即开发者可以在一个页面中建立多个地图对象,并且针对这些对象分别操作且不会产生相互干扰。具体使用方法请参考MutiMapViewDemo中的相关介绍。
此外,自v2.3.5版本开始。MapView控件还增加了对Fragment框架的支持。用户可以使用SupportMapFragment控件完成相应框架内的开发工作(详见MapFragmentDemo)。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
其他参考:
简介
申请密钥
配置环境及发布
Hello
BaiduMap
基础地图
周边雷达
离线地图
检索功能
LBS云检索
计算工具
定位
事件监听
个性化地图
简介
申请密钥
配置环境及发布
Hello
BaiduMap
基础地图
周边雷达
离线地图
检索功能
LBS云检索
计算工具
定位
事件监听
个性化地图
注意 POI 是Point of interest的简写。
其实官方的guide很好,但是就是没有SHA1的生成的过程,我只是把这个添加进来了。
整体的过程是:
0:创建keystore 文件,然后命令行得到SHA1,然后通过这个SHA1 和包名得到Key,
1:将Baidu SDK 集成到Android Studio 中,
2:使用引入的Baidu SDK,包括在Application 里面配置key 信息,然后是导入需要的权限,还有初始化
什么是百度地图Android SDK?
百度地图 Android SDK是一套基于Android 2.1及以上版本设备的应用程序接口, 您可以通过该接口实现丰富的LBS功能:地图:提供地图(2D、3D)的展示和缩放、平移、旋转、改变视角等地图操作;
POI检索:可根据关键字,对POI数据进行周边、区域和城市内三种检索;
地理编码:提供地理坐标和地址之间相互转换的能力;
线路规划:支持公交信息查询、公交换乘查询、驾车线路规划和步行路径检索;
覆盖物:提供多种地图覆盖物(自定义标注、几何图形、文字绘制、地形图图层、热力图图层等),满足开发者的各种需求;
定位:采用多种定位模式,使用定位SDK获取位置信息,使用地图SDK我的位置图层进行位置展示;
离线地图:支持使用离线地图,节省用户流量,同时为用户带来更好的地图体验;
调启百度地图:利用SDK接口,直接在本地打开百度地图客户端或WebApp,实现地图功能。
周边雷达:利用周边雷达功能,开发者可在App内低成本、快速实现查找周边使用相同App的用户位置的功能。
LBS云检索:支持用户检索存储在LBS云内的自有POI数据,并展示;
瓦片图层:支持开发者在地图上添加自有瓦片数据;
特色功能:提供短串分享、Place详情检索、热力图等特色功能,帮助开发者搭建功能更加强大的应用;
0: 首先要生成一个key store的文件,
这样就可以得到key 文件了,例如这个key 文件的名字叫做WearApkKey.jks
先找到你.android 的目录,这个目录在你的用户的目录里面,然后将刚才的WearApkKey.jks 拷贝到这个目录下面。然后在cmd 命令行里面,在这个目录下面执行如下的蓝色命令,会得到很多的信息,最有用的就是SHA1的信息。
C:\Users\Kodulf\.android>keytool -list -v -keystore WearApkKey.jks
输入密钥库口令:
密钥库类型: JKS
密钥库提供方: SUN
您的密钥库包含 1 个条目
别名: wearapkkey
创建日期: 2016-2-3
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
所有者: CN=zqxue
发布者: CN=zqxue
序列号: 36cfa4fb
有效期开始日期: Wed Feb 03 09:51:48 CST 2016, 截止日期: Sun Jan 27 09:51:48 CS
2041
证书指纹:
MD5: C9:9F:9A:4B:C8:7A:7D:2F:D8:B7:93:4D:AF:E3:A6:AD
SHA1: 3D:BB:11:01:E4:2E:B0:FE:AF:AF:2C:30:73:1E:14:A8:03:E6:06:F0
SHA256: 67:FA:6F:F8:6C:48:72:9B:22:D8:C7:2E:D5:F4:88:B3:FB:85:94:AA:B
91:A2:5E:2A:C8:A7:BE:5F:15:B4:8B
签名算法名称: SHA256withRSA
版本: 3
扩展:
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 80 20 B5 17 BB 78 9E D1 A4 4F 04 D6 B7 58 CE 3B . ...x...O...X.;
0010: C3 55 92 46 .U.F
]
]
这个时候就得到了SHA1的码了。就是上面的那个,
然后去申请KEY
1:申请Key,可以参考官方的这个,注意这里的类型一定要选择Android SDK,然后包名就是build.gradle 里面的applicationId
defaultConfig { applicationId "tech.androidstudio.baidudemoandroidstudiotech"
申请密钥
2:下载SDK,然后导入Android
Studio 中,进行集成,
---------------------------------------
将jar包放到libs 里面,然后右键,在菜单里面选择“add as libary”
然后再main 的文件夹下新建jniLibs。
将除了jar文件的文件夹放到jniLibs里面了。
点击rebuild,或者右边栏的gradle的刷新按钮。
--------------------------------------
可以参考
配置环境及发布
3:然后就是按照官网的写一个Hello BaiDu
Hello BaiduMapAndroid
SDK
开发工具
Android开发工具有很多。在此,我们推荐开发者使用Eclipse作为自己的开发工具,本套开发指南也是针对Eclipse开发环境下进行编写的。
显示百度地图
百度地图SDK为开发者提供了便捷的显示百度地图数据的接口,通过以下几步操作,即可在您的应用中使用百度地图数据:第一步:创建并配置工程(具体方法参见工程配置部分的介绍);
第二步:在AndroidManifest中添加开发密钥、所需权限等信息;
(1)在application中添加开发密钥
<application> <meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="开发者 key" /> </application>
2)添加所需权限
<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文件中添加地图控件;
<com.baidu.mapapi.map.MapView android:id="@+id/bmapView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:clickable="true" />
第四步,在应用程序创建时初始化 SDK引用的Context 全局变量:
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //在使用SDK各组件之前初始化context信息,传入ApplicationContext //注意该方法要再setContentView方法之前实现 SDKInitializer.initialize(getApplicationContext()); setContentView(R.layout.activity_main); } }
注意:在SDK各功能组件使用之前都需要调用
SDKInitializer.initialize(getApplicationContext());,因此我们建议该方法放在Application的初始化方法中
第五步,创建地图Activity,管理地图生命周期;
public class MainActivity extends Activity { MapView mMapView = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //在使用SDK各组件之前初始化context信息,传入ApplicationContext //注意该方法要再setContentView方法之前实现 SDKInitializer.initialize(getApplicationContext()); setContentView(R.layout.activity_main); //获取地图控件引用 mMapView = (MapView) findViewById(R.id.bmapView); } @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(); } }
完成以上步骤后,运行程序,即可在您的应用中显示如下地图:
以上的例子为大家介绍了如何构建一个基础的地图页面。地图控件自v2.3.5版本起,支持多实例,即开发者可以在一个页面中建立多个地图对象,并且针对这些对象分别操作且不会产生相互干扰。具体使用方法请参考MutiMapViewDemo中的相关介绍。
此外,自v2.3.5版本开始。MapView控件还增加了对Fragment框架的支持。用户可以使用SupportMapFragment控件完成相应框架内的开发工作(详见MapFragmentDemo)。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
其他参考:
简介
申请密钥
配置环境及发布
Hello
BaiduMap
基础地图
周边雷达
离线地图
检索功能
LBS云检索
计算工具
定位
事件监听
个性化地图
简介
申请密钥
配置环境及发布
Hello
BaiduMap
基础地图
周边雷达
离线地图
检索功能
LBS云检索
计算工具
定位
事件监听
个性化地图
相关文章推荐
- Android动画
- Android开发中,那些让你觉得相见恨晚的方法、类或接口
- Android相关问题记录
- ImageView的src与background的区别分析
- Android逆向分析基础-ARM 汇编语言基础
- 一个帖子学会Android开发四大组件
- Android Studio入门到精通
- Android 事件监听处理
- Android显示通知栏消息
- android 外部启动activity,自定义action,action常量大全
- Android Stuido第五期 - 时间选择器
- Android:解决Gradle DSL method not found: 'runProguard()' 问题
- android中一些概念的理解
- Android中的线程与线程池
- android ImageLoader加载本地图片的工具类
- Android源代码之DeskClock (一)
- 利用android剪贴板实现数据传递
- android studio 中制作简易的桌面组件
- android strings.xml的特殊字符
- 在android中如何使用全局变量