使用过百度地图的开发者应该都知道原始百度地图的开发的基本流程,但是随着百度地图的更新,百度地图的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. [AH/HNOI2017]抛硬币

    题目描述 小 A 和小 B 是一对好朋友,他们经常一起愉快的玩耍.最近小 B 沉迷于**师手游,天天刷本,根本无心搞学习.但是已经入坑了几个月,却一次都没有抽到 SSR,让他非常怀疑人生.勤勉的小 A ...

  2. ●UVa 11346 Probability

    题链: https://vjudge.net/problem/UVA-11346题解: 连续概率,积分 由于对称性,我们只用考虑第一象限即可. 如果要使得面积大于S,即xy>S, 那么可以选取的 ...

  3. UVA753:A Plug for UNIX

    题意:给定一些插座和一些插头,还有一些单向接头,比如A->B 接头可以串联A->B->C->D 使得插座和插头匹配数目最大 题解: 首先接头可以用Floyd处理 这题可以转化为 ...

  4. Ubuntu 16.04 Vim安装及配置

    安装VIM 默认已经安装了VIM-tiny acewu@acewu-computer:~$ locate vi | grep 'vi$' |xargs ls -al lrwxrwxrwx 1 root ...

  5. AR8033 1000M模式下ping包丢包率过大分析与解决

    1 现象 近期对一款基于QCA方案.有线Phy为AR8033.WiFi双频且支持iEEE802.11AC的WLAN产品进行了深度验证,发现有线口同部分PC机直连时,WiFi终端ping 该PC机时总是 ...

  6. python dataframe数据条件筛选

    一般情况下我们从一堆数据中选择我们获取想要的数据会通过一下方式: (1)创建链表或数组: (2)用for 循环遍历所有数据,将想要的存入链表或数组. 但是python中我们不需要这么做,我们可以用Pa ...

  7. H3C交换机如何配置管理VLAN

    1.输入"system-view"(简写"sys"),进入系统配置模式[H3C],2.下面就可以开始取消默认管理vlan了,输入"undo inter ...

  8. eclipse中创建完整的maven项目

    使用eclipse插件创建一个web project 首先创建一个Maven的Project如下图 我们勾选上Create a simple project (不使用骨架) 这里的Packing 选择 ...

  9. ubuntu查看IO

    在命令行直接 cp 一个比较大的文件时,由于没有提示信息,总感觉很不放心,可以通过查看IO的方式确认cp操作的进展程度. 查看IO可以使用iostat命令,但是前提是要安装sysstat sudo a ...

  10. Python中strip()、lstrip()、rstrip()用法详解

    Python中有三个去除头尾字符.空白符的函数,它们依次为: strip: 用来去除头尾字符.空白符(包括\n.\r.\t.' ',即:换行.回车.制表符.空格)lstrip:用来去除开头字符.空白符 ...