使用过百度地图的开发者应该都知道原始百度地图的开发的基本流程,但是随着百度地图的更新,百度地图的api有了翻天覆地的变化,最新版本的sdk为v3.4

2015年4月14日上线,优化了许多接口的设计,简单了地图的开发方式。但是,对没有接触过新版地图开发的人来说,依然是望尘莫及,今天我们就一起来学习下最新版百度地图的开发吧

1.获取开发者KEY

下面是官方的说明:
注意:为了给用户提供更优质的服务,Android SDK自v2.1.3版本开始采用了全新的Key验证体系。因此,当您选择使用v2.1.3及之后版本的SDK时,需要到新的Key申请页面进行全新Key的申请,申请及配置流程请参考开发指南对应章节 。(选择使用v2.1.2及之前版本SDK的开发者,申请密钥(key)的方式不变)。
当然新版的key的方式发生了改变,详情(点击进入申请)
申请的具体流程官网说的很清楚,即

Android签名证书的sha1值+“;”+packagename(即:数字签名+分号+包名),例如:

BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75;com.baidumap.demo

2.下载sdk文件demo和帮助文档

下载页面点击进去选择适和自己的进行下载


上面所选就可以完成大多数开发使用了
当然定位功能视个人情况选择

3.配置开发环境

解压开发包得到如下文件
打开文件夹如右图

将第一幅图片中的文件复制到工程的libs文件下,并且add bulid path 



4.工程的基本配置


在清单文件中的application节点下增加如下源文件
这个key必须这个工程包对象的key
  1. <meta-data
  2. android:name="com.baidu.lbsapi.API_KEY"
  3. android:value="申请到的开发者key" />
然后配置权限
  1. <uses-permission android:name="android.permission.GET_ACCOUNTS" />
  2. <uses-permission android:name="android.permission.USE_CREDENTIALS" />
  3. <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
  4. <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
  5. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  6. <uses-permission android:name="android.permission.INTERNET" />
  7. <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
  8. <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
  9. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
  10. <uses-permission android:name="android.permission.READ_PHONE_STATE" />
  11. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  12. <uses-permission android:name="android.permission.BROADCAST_STICKY" />
  13. <uses-permission android:name="android.permission.WRITE_SETTINGS" />

最后就可以在xml文件中使用map组件了,使用的方式和自定义组建的使用方式是一致的

  1. <com.baidu.mapapi.map.MapView
  2. android:id="@+id/bmapView"
  3. android:layout_width="fill_parent"
  4. android:layout_height="fill_parent"
  5. android:clickable="true" />

在activity文件中做如下处理,具体见注释

  1. public class MainActivity extends Activity {
  2. MapView mMapView = null;
  3. @Override
  4. protected void onCreate(Bundle savedInstanceState) {
  5. super.onCreate(savedInstanceState);
  6. //在使用SDK各组件之前初始化context信息,传入ApplicationContext
  7. //注意该方法要再setContentView方法之前实现  ,这个方法最好的application文件中配置,免的多次配置
  8. SDKInitializer.initialize(getApplicationContext());
  9. setContentView(R.layout.activity_main);
  10. //获取地图控件引用
  11. mMapView = (MapView) findViewById(R.id.bmapView);
  12. }
  13. @Override
  14. protected void onDestroy() {
  15. super.onDestroy();
  16. //在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理
  17. mMapView.onDestroy();
  18. }
  19. @Override
  20. protected void onResume() {
  21. super.onResume();
  22. //在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理
  23. mMapView.onResume();
  24. }
  25. @Override
  26. protected void onPause() {
  27. super.onPause();
  28. //在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理
  29. mMapView.onPause();
  30. }
  31. }


百度地图SDK3.4的使用的更多相关文章

  1. Android应用之——百度地图最新SDK3.0应用,实现最经常使用的标注覆盖物以及弹出窗覆盖物

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/yanglfree/article/details/33333413 一.概述 最新版的百度地图SDK ...

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

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

  3. 【详细教程】论android studio中如何申请百度地图新版Key中SHA1值

    一.写在前面 现在越来越多的API接口要求都要求提供我们的项目SHA1值,开发版目前还要求不高,但是发布版是必定要求的.而目前定位在各大APP中也较为常见,当下主流的百度地图和高德地图都在申请的时候会 ...

  4. C# 程序中嵌入百度地图

    本例是对WinForm中使用百度地图的简要介绍.百度地图目前支持Android开发,IOS开发,Web开发,服务接口,具体可以参照'百度地图开放平台'. [动态加载百度地图]涉及到的知识点: WebB ...

  5. Android 调用百度地图API

    一.到 百度地图开发平台下载SDK http://lbsyun.baidu.com/index.php?title=androidsdk/sdkandev-download 1.点击自定义下载 2.下 ...

  6. EChart系列:在echart3中使用百度地图扩展之后,如何获取到百度地图对象

    最近做项目想要在百度地图上叠加显示echart的散点图,然后根据地图的缩放等级和区域范围要显示不同的散点图,这中间折腾了好久.功能要求包括: (1)底图使用百度地图: (2)可以在地图上叠加显示ech ...

  7. 【月入41万】Mono For Android中使用百度地图SDK

    借助于Mono For Android技术,.Net开发者也可以使用自己熟悉的C#语言以及.Net来开发Android应用.由于Mono For Android把Android SDK中绝大部分类库都 ...

  8. Xamarin.Android之使用百度地图起始篇

    一.前言 如今跨平台开发层出不穷,而对于.NET而言时下最流行的当然还是Xamarin,不仅仅能够让我们在熟悉的Vs下利用C#开发,在对原生态类库的支持方面也有着非常的好支持,今天我们将会以百度地图类 ...

  9. 百度地图API的使用

    ------------------自说自话----------------------------- 好奇怪,习惯性使用有道云笔记记录心得与知识后就很少用博客园来记录了. 但是后来想想,有些东西还是 ...

随机推荐

  1. 【LSGDOJ 1408】邮局

    题目描述 一些村庄被建在一条笔直的高边公路边上.我们用一条坐标轴来描述这条高边公路,每一个村庄的坐标都是整数.没有两个村庄坐标相同.两个村庄问的距离,定义为它们坐标值差的绝对值. 我们需要在一些村庄建 ...

  2. 2015 多校联赛 ——HDU5360(贪心+优先队列)

    Sample Input 4 8 4 1 3 2 2 1 0 3 5 3 6 4 2 1 7 6 8 3 3 2 0 5 0 3 6 4 5 2 7 7 6 7 6 8 2 2 3 3 3 0 0 2 ...

  3. 2015 多校联赛 ——HDU5301(技巧)

    Your current task is to make a ground plan for a residential building located in HZXJHS. So you must ...

  4. poj1741Tree 点分治

    上午学习了点分治,写了1个半小时终于写出一个代码--poj1741,可以说是个模板题. 分治:对于每个儿子找出重心,分别处理 注意:1.每次处理一个重心后,ans减去对它儿子的处理 原因:因为统计方法 ...

  5. 谈谈如何选择合适的MySQL数据类型

    MySQL数据类型选择 一 .选择原则 更小的通常更好:一般情况下选择可以正确存储数据的最小数据类型.越小的数据类型通常更快,占用磁盘,内存和CPU缓存更小. 简单就好:简单的数据类型的操作通常需要更 ...

  6. java中如何在代码中判断时间是否过了10秒

    long previous = 0L; ... { Calendar c = Calendar.getInstance(); long now = c.getTimeInMillis(); //获取当 ...

  7. JAVA (集合和数据结构)

    Collection和Collections的区别: 1.java.util.Collection 是一个集合接口.它提供了对集合对象进行基本操作的通用接口方法.Collection接口在Java 类 ...

  8. 利用Apach ab对nodejs进行并发负载的压力测试

    大家应该都有听过,nodejs性能优越,并发也很好之类的话,那我们用Apache ab对node这个空框架测试一下,然后再对一些网站测试一下,或或少一定的参考意义把. Apache ab测试工具是模拟 ...

  9. 在OpenCV3.1.0中使用SIFT,SURF算法

    写在前边: 1.我使用的是python2.7 + OpenCV3.1.0 2.OpenCV3.0.0+的文档有很大问题,很多文档写的还是OpenCV2.0+, OpenCV3.0+根本用不了,其中有一 ...

  10. Linux完全卸载Oracle的操作步骤

    卸载步骤如下:1.运行$ORACLE_HOME/bin/localconfig delete2.rm -rf $ORACLE_BASE/*3.rm -f /etc/oraInst.loc etc/or ...