最近一直和百度地图打交道,写几篇博客记录一下吧,目前最新版是4.0的 ,之前我用的是3.7的, 就以4.0的为例说一下最基本的配置流程吧.
一.准备工作
1.申请一个百度地图开发者账户--地址:https://passport.baidu.com/v2/?reg®Type=1&tpl=mn&u=http://lbsyun.baidu.com/
2.申请一个应用--地址:http://lbsyun.baidu.com/apiconsole/key
申请应用需要用到sha1 值和包名 -- 此处开发工具以Android Studio为准, sha1 和包名获取如下(我用的是非debug.jks ,直接用发布版的jks)
1>sha1值获取要有 xx.jks文件, 对应eclipse端的 xx.keystore文件
xx.jsk创建步骤如图 (如果你之前创建过,直接拿来直接使用,此处是新建步骤)
输入的名字,比如traffic,根据需要自行输入,然后点击 OK ,返回到第3张图, 这里输入密码, 别名,以及 First and Last Name 其他的就不用输入了,没啥用.直接ok至此 xxx.jks创建完成.
2>获取发布版的sha1值,截图吧,图中有步骤
然后回车,提示输入密码, 就是你刚才创建xx.jks时输入的密码,输入密码回车得到如下图
鼠标"右键",选中SHA1 然后 Ctrl+C 拷贝
3.使用 sha1 和工程包名
点击"创建应用" --> 输入"应用名字" -->选中"Android SDK" 下面会有 让你填写SHA1 和包名的地方,把刚才拷贝的SHA1弄进去, 不需要去掉冒号,也不需要大写改成小写,原封不动拷贝. 包名的获取需要注意的地方,如果是Eclipse开发工具直接无视下面的截图
Android studio 以截图包名为准, 不要以 AndroidManifest.xml为准,因为它俩可能不一样. 考第一次截这么多图 ,我都崩溃了.继续崩溃下去吧~~~
二.工程的配置
1.把百度地图sdk先关 jar 和 so包拷贝到工程 (在project模式下 , 拷贝jar包到libs, 在main 下创建jniLibs文件夹,把so文件所在包名全部拷贝进去,注意一点版本要和jar版本对应, 比如全部是4_0_0 ,或者全部是 3_7_1,不要混用)
2.AndroidManifest.xml的配置 (2个步骤,代码已给出) 那个AK值就是
package="com.zcq.traffic">
android:name=".AppApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
android:name="com.baidu.lbsapi.API_KEY"
android:value="oL7xrlilyHPmNRbrPROpLtXSF2u1oMiw" />
3.activity_main.xml
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
android:id="@+id/mapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true" />
3.自定义AppApplication
public class AppApplication extends Application {
/**
* 百度地图第4步,初始化全局sdk对象, 最好放到自定义Application中,不容易出错
*/
@Override
public void onCreate() {
super.onCreate();
//在使用SDK各组件之前初始化context信息,传入ApplicationContext
//注意该方法要再setContentView方法之前实现
SDKInitializer.initialize(getApplicationContext());
}
}
4.MainActivity.java
public class MainActivity extends AppCompatActivity {
private MapView mMapView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//百度地图第5步,显示地图
mMapView = (MapView) findViewById(R.id.mapView);
}
//下面是几个生命周期方法,
@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();
}
}
3.运行效果图
5.源码:https://yunpan.cn/cRMvR2cg6bE7Z 访问密码 e3d3
Android 百度地图API(01)_开发环境 HelloBaiduMap
转载于:http://blog.csdn.net/lmj623565791/article/details/37729091 转载于:http://blog.csdn.net/crazy1235/ar ...
Android百度地图开发01之初体验
做关于位置或者定位的app的时候免不了使用地图功能,本人最近由于项目的需求需要使用百度地图的一些功能,所以这几天研究了一下,现写一下blog记录一下,欢迎大家评论指正! 一.申请AK(API Key) ...
[置顶]
 Xamarin android如何调用百度地图入门示例(一)
在Xamarin android如何调用百度地图呢? 首先我们要区分清楚,百度地图这是一个广泛的概念,很多刚刚接触这个名词"百度地图api",的确是泛泛而谈,我们来看一下百度地图的 ...
Android 百度地图开发(一)--- 申请API Key和在项目中显示百度地图
标签: Android百度地图API Key 分类: Android 百度地图开发(2) 最近自己想研究下地图,本来想研究google Map,但是申请API key比较坑爹,于是从百度地 ...
Android 百度地图 SDK v3.0.0 (四) 引入离线地图功能
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37758097 一直觉得地图应用支持离线地图很重要啊,我等移动2G屌丝,流量不易, ...
Android 百度地图 SDK v3.0.0 (三) 添加覆盖物Marker与InfoWindow的使用
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37737213 上篇博客已经实现了地图的定位以及结合了方向传感器用户路痴定位方向, ...
Android 百度地图 SDK v3.0.0 (三) 加入覆盖Marker与InfoWindow使用
转载请注明出处:http://blog.csdn.net/lmj623565791/article/details/37737213 上篇博客已经实现了地图的定位以及结合了方向传感器用户路痴定位方向, ...
Android百度地图相关内容汇总
Android百度地图知识讲解 1.百度地图开发环境搭建 http://www.apkbus.com/android-116050-1-1.html 2.Android百度地图系列教程 h ...
android 百度地图开发实例(转载)
因为在我的寝室google基站定位返回的数据总是为空,所以换成百度地图,发现百度地图开发起来非常方便,提供了许多有用的工具,地图的加载速度也比google地图快许多. 为了加强记忆,写一点androi ...
随机推荐
MySQL查询语句(select)详解(2)
7.子查询 当进行查询的时候,需要的条件是另外一个select语句的结果,这时候就要用到子查询 用于子查询的主要关键字有:in,not in,=,!=,exists,not exists等. 以下两张 ...
java中的IO操作
IO流是用来处理设备之间的数据传输,Java对数据的操作是通过流的方式进行,而操作流的对象都封装到java.io包中.根据操作数据的种类可以把IO流分为字节流(InputStream,OutputSt ...
MakeObjectInstance的简单理解
昨天把MakeObjectInstance的代码详细研究了一下,当然还有众多前辈高手们的帮助,终于大致搞明白了是怎么回事.但是给我顿悟的,不是高手们的帖子,而是来自我自己的一个疑惑,TObjectIn ...
myeclipse快捷键收集整理
Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加) Ctrl+Alt+↑ 复制当前行到上一行(复制增加) Alt ...
关于java读取和写入properties配置文件的内容
一般通过使用流的方式进行读取 代码示例如下: package com.zznode.transmit.util; import java.io.FileInputStream; import java ...
NodeJS 从0开始
查看Node 基本配置$ npm config ls -l $npm help install将展开install的help文档 初始化目录 npm init 根据提示完成 将生成package.js ...
vs2013、vs2015使用.net4.5框架智能提示英文转成中文
安装完VS2013.VS2015使用.net framework 4.5框架时,代码补全中智能提示信息全是英文解决方案:关闭VS2013.VS2015:将zh-Hans 目录替换以下目录 C:\Pro ...
使用Docker发布DNC项目
项目结构 可以忽略中间三个Console项目 ApiCenter 是一个WebAPI项目,引用了NLog.MQ项目 ApiCenter使用5001端口 public static IWebHost B ...
MongoDB之增删改查
MongoDB的默认端口为:27017 show dbs 查看所有的数据库 MySQL和MongoDB的对应关系 MySQL MongoDB DB DB 数据库 table Collection ...
{{ }} 和ng-bind
花括号最后会转换成ng-bind,在一次加载数据的时候,显示花括号,所以使用ng-bind 或者ng-bind-html