博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 百度地图 SDK v3.0.0 (一)
阅读量:6327 次
发布时间:2019-06-22

本文共 3116 字,大约阅读时间需要 10 分钟。

转载请标明出处:

近期公司要把百度地图集成的项目中,于是我就研究了一天百度地图的SDK,当前的版本号:Android SDK v3.0.0 。 尽管百度地图网上相关代码比較多。大多可能都是比較旧的版本号,且百度地图API的修改感觉也比較大。所以再此跟大家分享一下一天的劳动成功。

以下简单展示下,博客中会介绍的功能:

1、功能介绍

a、首先肯定是导入地图,然后就是地图模式的一些切换,普通,卫星,实时交通什么的。

b、定位功能,定位当前位置。

效果图:

c、动态加入覆盖物,点击覆盖物,弹出层以及其它效果。

效果图:

d、结合方向传感器,为地图的定位功能加入方向。本人极其路痴。不分东南西北,所以此功能对我来说非常重要,手机不断旋转,我才干知道当前应该走哪条路,直接显示的地图对我来说没用。

效果图(我360度的旋转手机,观察效果图的变化):

切换到别的模式也是非常炫的:

e、提供离线地图下载,能够极大的省去用户的流量。也能保证在无网络情况对地图的使用。

基本这上述的功能,第一篇。还是从零開始,先把百度地图导入app再说。

2、申请密钥

a、申请密钥,到百度API控制台的页面:http://lbsyun.baidu.com/apiconsole/key

输入要应用名称。选择应用类型,输入安全吗。

b、关于安全码 ( 数字签名;包名 ) 的获取:

打开IDE:

黑框框住的就是数字签名。然后包名就是咱们应用的包名,直接用分号连接:比如:F5:10:39:D9:81:57:BD:2E:A0:CD:E3:EB:5E:C4:CC:E0:E0:0D:41:56;com.zhy.zhy_baidu_ditu_demo03

最后点击完毕,就能获取密钥了:

3、第一个baidu map应用

下载就不多说了。直接点击官网的相关下载即可选择就可。后面我也会贴上源代码。

配置:

第一步:在project里新建libs文件夹,将开发包里的baidumapapi_vX_X_X.jar复制到libs根文件夹下,将libBaiduMapSDK_vX_X_X.so复制到libs\armeabi文件夹下(官网demo里已有这两个文件,假设要集成到自己的project里,就须要自己加入),拷贝完毕后的project文件夹例如以下图所看到的;

注:liblocSDK3.so和locSDK_3.1.jar为百度定位SDK所使用资源,开发人员可依据实际需求自行加入。
android_dev1.png
第二步:在project属性->Java Build Path->Libraries中选择“Add External JARs”,选定baidumapapi_vX_X_X.jar,确定后返回。

通过以上两步操作后,您就能够正常使用百度地图SDK为您提供的所有功能了。
注意:因为adt插件升级,若您使用Eclipse adt 22的话。须要对开发环境进行对应的设置,方法例如以下:
1). 在Eclipse 中选中project,右键选 Properties->Java Build Path->Order and Export 使 Android Private Libraries处于勾选状态。
2). Project -> clean-> clean all .

a、在application中加入开发密钥

b、加入所需权限

c、布局文件里加入地图控件

d、在应用程序创建时初始化 SDK引用的Context 全局变量:

@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);// 在使用SDK各组件之前初始化context信息。传入ApplicationContext// 注意该方法要再setContentView方法之前实现SDKInitializer.initialize(getApplicationContext());setContentView(R.layout.activity_main);}

好了,经过这四步就能显示地图了~~

e、只是地图非常耗电,所以有必要管理其声明周期

package com.zhy.zhy_baidu_ditu_demo00;import android.app.Activity;import android.os.Bundle;import android.view.Window;import com.baidu.mapapi.SDKInitializer;import com.baidu.mapapi.map.MapView;public class MainActivity extends Activity{	private MapView mMapView = null;	@Override	protected void onCreate(Bundle savedInstanceState)	{		super.onCreate(savedInstanceState);		requestWindowFeature(Window.FEATURE_NO_TITLE);		// 在使用SDK各组件之前初始化context信息,传入ApplicationContext		// 注意该方法要再setContentView方法之前实现		SDKInitializer.initialize(getApplicationContext());		setContentView(R.layout.activity_main);		// 获取地图控件引用		mMapView = (MapView) findViewById(R.id.id_bmapView);	}	@Override	protected void onDestroy()	{		super.onDestroy();		// 在activity运行onDestroy时运行mMapView.onDestroy(),实现地图生命周期管理		mMapView.onDestroy();		mMapView = null;	}	@Override	protected void onResume()	{		super.onResume();		// 在activity运行onResume时运行mMapView. onResume (),实现地图生命周期管理		mMapView.onResume();	}	@Override	protected void onPause()	{		super.onPause();		// 在activity运行onPause时运行mMapView. onPause ()。实现地图生命周期管理		mMapView.onPause();	}}

好了。完毕。事实上百度开发指南上对了helloworld这篇也极其清楚~~~~

百度地图相关博客视频版本号已经上线:期待您的支持。

博主部分视频已经上线,假设你不喜欢枯燥的文本,请猛戳(初录。期待您的支持):

你可能感兴趣的文章
SCOM 2012系列⑦即时消息通知上
查看>>
IE9是如何被FireFox4超越全球市场份额的?
查看>>
linux bunzip2命令
查看>>
敏捷个人:通过实践TOGAF来思考如何学习并应用新的方法?
查看>>
Android系统的开机画面显示过程分析(6)
查看>>
vivo Hi-Fi+QQ音乐 数字音乐市场的一剂良方
查看>>
Cocos2d-x 3.2 异步动态加载 -- 保卫萝卜开发总结
查看>>
聚焦触宝反侵权事件:中国创业者用什么护航海外市场大门
查看>>
AOP技术基础
查看>>
Android系统进程间通信(IPC)机制Binder中的Server启动过程源代码分析(2)
查看>>
Lync 小技巧-5-当前已暂停共享
查看>>
无线802.11n 2.4G与5G性能测试
查看>>
子域名信息收集攻略
查看>>
[Android]开发数独游戏思路分析过程
查看>>
SpreadJS 类Excel表格控件 - V12 新特性详解
查看>>
理解并取证:IPv6与IPv4在报文结构上的区别
查看>>
小白该如何学习Linux操作系统(2)
查看>>
Python写各大聊天系统的屏蔽脏话功能原理
查看>>
Hibernate与Spring集成示例
查看>>
EOS主网上线只是开始,如何运营决定未来
查看>>