Android百度地图开发-第一篇:申请、搭建百度地图

一、前言

这是第一篇关于Android使用百度地图的学习记录,主要记录:
  1.在百度地图开发者平台上申请API Key。
  2.在自己的应用中加入百度地图的Android版SDK。
  3.在自己的应用中显示一个地图。

二、在百度地图开发者平台上申请API Key

百度地图开发者平台地址:http://lbsyun.baidu.com/index.php?title=%E9%A6%96%E9%A1%B5。点击界面的“申请密钥”,进入界面之后,点击“创建应用”按钮。

将应用类型选择为“Android SDK”,要填写应用名称、发布版本SHA1、开发版本SHA1,所以我建议现在就创建好你的应用项目,也好查看所需要填写的信息。在这里我的应用名称为“百度地图测试”,包名为"com.zhangmiao.baidumaptest11_4"。
发布、开发版本的SHA1的查看方式:

1.获取开发版SHA1:

输入命令:keytool -list -v -keystore debug.keystore,回车
输入密钥库口令:android(系统默认)回车。

这就看到了开发版SHA1了。

2.获取发布版SHA1:

2.1.创建自己的签名文件    

在Android Studio软件中选择Build->Generate Signed APK。点击Next按钮

这里可以选择Create New Key Store或者Choose Existing Key Store,选择存在的KeyStore文件也是可以的,直接选择即可,这里,我介绍一下创建新的KeyStore的步骤,点击Create new Key Store按钮,

Key store path:选择KeyStore的文件路径与名称。
Password:密码
Confirms:再次输入密码
Alias:别名
Password:key的密码
Confirms:再次输入密码
Validity(years):密钥的有效期
First and Last Name:你的名字
Organizational Unit:单位
Organization:组织
City or Locality:城市或者所在地
State or Province:省份
Country Code (XX):国家
填写完成之后点击"ok"按钮,返回到了Generate Signed APK的界面,这个时候发现界面的Key store password、Key alias、Key Password已经自动填写好了,
点击"Next"按钮,出现了Enter Master Password界面(有的可能不会出现这个界面),

填写密码即可,点击“OK”按钮,

Build Type的选项是release,还要记得勾选Signature Versions的选项。点击Finish按钮,到这里开发版本的keystore文件就创建好了。

2.2.查看发布版的SHA1

输入命令:keytool -list -v -keystore “创建的发布版的keystore文件的地址”,回车。
输入密钥库口令:前面设置的是什么,这里填写什么。

这就看到了发布版SHA1了。
将查看到的发布版与开发版的SHA1填写进对应的输入框中。然后点击提交即可。

三、在自己的应用中加入百度地图的Android版SDK

先下载百度地图Android版的SDK:下载地址:http://lbsyun.baidu.com/index.php?title=androidsdk/sdkandev-download,点击自定义下载,勾选自己需要的功能,点击开发包下载即可。
下载完成之后,解压压缩包,将libs里面的文件全部放入自己项目的libs文件夹下。在项目的build.gradle中加入以下语句:

android {
   ...
    sourceSets {
        main {
            jniLibs.srcDirs = [‘libs‘]
        }
    }

}

这样就在你的项目中引入了百度地图的API了。

四、在自己的应用中显示一个地图

1.修改activity_main布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <com.baidu.mapapi.map.MapView
        android:id="@+id/map_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:clickable="true" />

</LinearLayout>

2.添加API_KEY

在AndroidManifest.xml文件中,为Application添加api_key

    <application
        ...>
        <meta-data android:name="com.baidu.lbsapi.API_KEY"
            android:value="在百度地图开发者平台界面查看自己应用的(访问应用)AK"/>

3.修改MainActivity文件

public class MainActivity extends AppCompatActivity {

    private MapView mMapView = null;

    private BaiduMap bdMap;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        SDKInitializer.initialize(getApplicationContext());
        setContentView(R.layout.activity_main);
        mMapView = (MapView) findViewById(R.id.map_view);
    }

    @Override
    protected void onResume() {
        super.onResume();
        mMapView.onResume();
    }

    @Override
    protected void onPause() {
        super.onPause();
        mMapView.onPause();
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        mMapView.onDestroy();
        MapView.setMapCustomEnable(false);
        mMapView = null;
    }
}

4.添加权限

在AndroidManifest.xml中添加以下权限:

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.CALL_PHONE" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

现在就可以运行程序了,可以看到出现地图了。

代码地址: https://github.com/ZhangMiao147/BookCode_TheFirstLineOfCode/tree/master/baidumaptest11_4

时间: 2024-10-06 00:27:45

Android百度地图开发-第一篇:申请、搭建百度地图的相关文章

“基于GBT28181:SIP协议组件开发”-----------第一篇环境搭建

SIP协议在安防视频系统的国标中,有重要应用.从本文开始,讲解并开发一套SIP协议组件.现在一般在开发这类系统时,采用的exosip2和osip2库,这是个开源的SIP协议栈库.实际遵从国标开发时并不能满足实际的需要.所以本文依照GBT28181开发的一套SIP组件.该组件支持代理服务器UAS和代理客户端UAC两重角色.组件实现了RFC3261基本的会话初始协议(SIP协议)的一个功能子集.SIP组件中实现了REGISTER,MESSAGE,NOTIFY,SUBSCRIBE,INVITE,ACK

Kinect For Windows2.0开发第一篇之搭建环境

一.环境需求: 1.Windows8,8.1     以上操作系统,Visual Studio2012以上 2.如果你有一台XboxOne上的Kinect就不用单独购买Kinect了,直接拿来做开发就可以,只需要去微软商城购买一台Kinect For Windows2.0Adapter 适配器就OK. 3.机器必须原生支持USB3.0,经过验证USB2.0无法使用,在京东购买了个PCI-E的转USB3.0的接口,测试发现不支持,看来必须是原生支持usb3.0才能用. 4.安装kinect con

[转]Android样式的开发:shape篇

转载自Keegan小钢原文链接:http://keeganlee.me/post/android/20150830 Android样式的开发:shape篇Android样式的开发:selector篇Android样式的开发:layer-list篇Android样式的开发:drawable汇总篇Android样式的开发:View Animation篇Android样式的开发:Property Animation篇Android样式的开发:Style篇 一个应用,应该保持一套统一的样式,包括Butt

Android样式的开发:shape篇

转载请注明:转载自Keegan小钢并标明原文链接:http://keeganlee.me/post/android/20150830微信订阅号:keeganlee_me写于2015-08-30 Android样式的开发:shape篇Android样式的开发:selector篇Android样式的开发:layer-list篇Android样式的开发:drawable汇总篇Android样式的开发:View Animation篇Android样式的开发:Property Animation篇Andr

Web前端开发第一篇

本人在学习和开发web前端中得到的一些javascript.jquery.html等等效果可能对大家有用和对大家有帮助的东西一起分享给大家. 这些效果也许很多人都已经有了,不过我还是积累下,分享给一起学习Web前端的人员和刚刚开始学习Web前端的人员, 希望能帮助大家. 我的语言组织能力比较差,还有我的技术水平也是比较差的,有些东西可能理解的不对,大神们可以指点出来我加以改正,希望大家见谅! Web前端开发第一篇

Android开源框架Afinal第一篇——揭开圣女的面纱

Android开源框架Afinal第一篇——揭开圣女的面纱 分类: Android开源框架哪点事2013-09-02 14:25 260人阅读 评论(0) 收藏 举报 Afinal 这是Afinal在github的地址:https://github.com/yangfuhai/afinal Afinal这个框架主要分4块: 1.FinalDB模块:android中的orm框架,一行代码就可以进行增删改查.支持一对多,多对一等查询. 2.FinalActivity模块:android中的ioc框架

iOS开发项目篇—40搭建cell的基本结构

iOS开发项目篇—40搭建cell的基本结构 一.简单说明 1.策略:针对微博可能出现的多种情况(只有文字,有文字有配图,有转发微博等),一次性加载所用的子控件到cell中,对于没有数据的空间进行隐藏.(不管cell以后会显示什么子控件,把所有有可能显示的子控件都添加上去·添加到contentView上) 微博cell的显示示例: 2.自定义cell的步骤: 1.新建一个继承自UITablecell的子类 2.在initWithStyle:方法中进行子控件的初始化 (1)将有可能显示的所有子控件

Android下百度地图开发(一):基础地图展示

最终效果如: 这个需要详细说下,准备工作较为繁琐. 第一步:去百度申请一个开发者账号,新建一个android应用,会让你输入开发者SHA1,目前我只拿到开发版SHA1,发布版那里也填的是这个. 获取方法如: 在C:\Users\Administrator\.android下面呼出命令行,输入 keytool -list -v -keystore debug.keystore,会得到三种指纹证书,选取SHA1类型的证书(密钥口令是android) 红线地方就是,填进adroid sdk申请界面,会

[安卓][地图] 1、高德或百度地图开发第一步(高手跳过)

>_<" 开发地图应用必须用地图供应商提供的API,这里我用了百度地图和高德地图,其流程基本上完全相似.关键点有三个: 一.申请KEY 二.下载提供商提供的API等资源 三.在工程里加载库 >_<" 具体详细过程可以参看他们的开发指南: 百度地图开发指南:http://developer.baidu.com/map/index.php?title=android-locsdk 高德地图开发指南:http://lbs.amap.com/api/android-sd