由于项目需求缘故,最近在学习Android地图的开发,所以就记录一下学习过程。最近都会陆续更新啦。目前使用百度地图API的挺多的,所以就先以它为基础学习一些地图的调用。

一、AK的申请

与web开发不一样,Android的地图项目开发需要申请一个AK才能调用地图功能。

1.注册成为百度开发者,正常填入信息即可。

2.申请密钥:

  在http://lbsyun.baidu.com/apiconsole/key中创建应用,现在百度只允许一个key对应一个应用。

  (1)应用名称:与自己创建项目名一致。

  (2)应用类型:Android SDK

  (3)启动服务:建议全部勾选,方便项目后续继续添加功能。

  (4)数字签名(SHA1):

  在Android studio上有命令行,直接启动,进入C:\用户名\.android,输入keytool -list -v -keystore debug.keystore(密钥库命令是android),会出现证书指纹,将SHA1的值粘贴过去即可。

  由于百度推荐的这个方法出来的SHA1可能出现错误,百度论坛上许多人包括本人也出现SHA1值错误导致的AK匹对失败,在论坛上看到官方给出一个测试AK的app,它可以获取所有应用正确的SHA1和包名,我们可以把以前错误替换掉。这是网址:http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=85103&extra=page%3D1

  (5)包名:Android studio里在app文件下的build.gradle,applicationId就是包名。

二、下载SDK开发包

1.在网址:http://lbsyun.baidu.com/index.php?title=androidsdk/sdkandev-download

一键下载会把jar包、so文件以及一些demo都包含,后面也比较方便查看。

2.接下来就是在android studio创建项目,过程就不说啦,建完后添加jar包和so文件

jar包:添加在libs文件下,并右击右击里选择add as library;

so文件:在main文件下新建jniLibs文件,将各种编译环境的so文件粘贴进去。

3.在AndroidManifest.xml 声明AK和权限

AK:

<application>
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="开发者 key" />
</application>

权限(算是比较齐全的权限):

<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.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>

4.在布局文件中添加地图控件

<com.baidu.mapapi.map.MapView
android:id="@+id/bmapView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true">
</com.baidu.mapapi.map.MapView> 5.应用创建需要初始化SDK,引用全局变量:  

6.创建基础地图:

在主线程里面声明了控件引用就可以使用基础地图了,显示基本的地图信息。
mMapView = (MapView) findViewById(R.id.bmapView);
然后管理声明周期,在各个阶段同步地图的状态。
@Override
protected void onDestroy() {
super.onDestroy();
mMapView.onDestroy();
} @Override
protected void onResume() {
super.onResume();
mMapView.onResume();
} @Override
protected void onPause() {
super.onPause();
mMapView.onPause();
}


后面会陆续更新定位的获取,地图POI的检索和一些路线规划等等。

百度地图开发的学习(一)——配置环境&基础地图的更多相关文章

  1. 【百度地图开发之二】基于Fragment的地图框架的使用

    写在前面的话: [百度地图开发之二]基于Fragment的地图框架的使用(博客地址:http://blog.csdn.net/developer_jiangqq),转载请注明. Author:hmji ...

  2. oracle学习笔记——配置环境

    题记:最近再学oracle,于是按照这本经典的书<Oracle Database 9i/10g/11g编程艺术>来学习. 配置环境 如何正确建立SCOTT/TIGER演示模式 需要建立和运 ...

  3. Xamarin 学习笔记 - 配置环境(Windows & iOS)

    本文翻译自CodeProject文章:https://www.codeproject.com/Articles/1223980/Xamarin-Notes-Set-up-the-environment ...

  4. Java Web整合开发(附录1) - 安装配置环境

    1. Install JDK http://blog.csdn.net/sonnet123/article/details/9169741 Download JDK http://www.oracle ...

  5. jmeter的学习(配置环境)

    jmeter是一款开源工具.解压即可使用 前提要安装配置jdk.验证jdk是否安装配置成功.运行cmd输入“ java -version” 如上图所示.jdk安装配置成功:64位版本1.8 现在即可进 ...

  6. Android-Opencv开发(一)配置环境

    先去官网下载android-opencv http://opencv.org/.

  7. 嵌入式4412开发板学习知识-Linux系统基础知识

    1. 什么是Linux系统编程 Linux系统编程分为三个部分:系统调用.C库和C编译器. 系统调用系统编程的基础是系统调用,也结束于系统调用.在带有操作系统的嵌入式开发中,需要从操作系统申请一些服务 ...

  8. Android studio 百度地图开发(3)地图导航

    Android studio 百度地图开发(3)地图导航 email:chentravelling@163.com 开发环境:win7 64位,Android Studio,请注意是Android S ...

  9. Android studio 百度地图开发(2)地图定位

    Android studio 百度地图开发(2)地图定位 email:chentravelling@163.com 开发环境:win7 64位,Android Studio,请注意是Android S ...

随机推荐

  1. B2B多商铺初期权限数据库设计

    项目从无到有,两个月了.一期完成. 权限目前还很简单.USER表,ROLE表,RESOURCE表三个. 目前只有两个商铺.id是0的是我们自己,作为后台运维管理,也抽象成一个商铺,id为0.另一个商铺 ...

  2. 【MSDN原版】Windows 7 with SP1各版本下载

    Windows 7 Ultimate with Service Pack 1简体中文旗舰版:Windows 7 Ultimate with Service Pack 1 (x86) - DVD (Ch ...

  3. eclipse开发web应用程序步骤(图解)

    *运行环境(也就是服务器的选择) 环境搭建好之后开始编写web程序!然后右键->Run as -> Run on Server!

  4. java中三种方式获得类的字节码文件对象

    package get_class_method; public class ReflectDemo { /** * @param args */ public static void main(St ...

  5. 为什么移动Web应用程序很慢(译)

    前些日子,看到Herb Sutter在自己的博客中推荐了一篇文章<Why mobile web apps are slow>,在推荐里他这样写道: “I don’t often link ...

  6. .NET C# 使用S22.Imap.dll接收邮件 并且指定收取的文件夹的未读邮件,并且更改未读准态

    string host = Conf.ConfigInfo.POP_Host; int port = Conf.ConfigInfo.POP_Port; string username =Conf.C ...

  7. iOS实现图像的反色,怀旧,色彩直方图效果

    反色是与原色叠加可以变为白色的颜色,即用白色(RGB:1.0,1.0,1.0)减去原色的颜色.比如说红色(RGB:1.0,0,0)的反色是青色(0,1.0,1.0).在OPENGL ES中为1. 通过 ...

  8. 组合数学 + STL --- 利用STL生成全排列

    Ignatius and the Princess II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K ( ...

  9. P6 EPPM Installation and Configuration Guide 16 R1 April 2016

    P6 EPPM Installation and Configuration Guide 16 R1         April 2016 Contents About Installing and ...

  10. ASP.NET后台执行JS代码

    1. 用Response.Write方法 代码如下:Response.Write("<script type='text/javascript'>alert("XXX& ...