1、创建应用 获取AK (我理解为Application key)

   通过百度账号登录百度地图开放平台,进入API控制台 http://lbsyun.baidu.com/apiconsole/key 创建自己的应用,输入应用名称 ,选择Android SDK 应用类型,选择需要的服务(默认全选) 输入签名文件的SHA1,默认的签名文件debug.keystore 在 C:\Users\你的用户\.android下,然后打开控制台cd到此目录下 键入 keytool -v -list -keytore debug.keystore,就可以获取签名文件的SHA1了 注意复制时不要有空格,然后输入应用的包名,也不要输入错了,系统自己生成安全码,提交就创建完成了。

2、下载SDK,集成到自己的项目

  选择需要的服务类型,然后下载SDK 也可以下载demo,http://lbsyun.baidu.com/index.php?title=androidsdk/sdkandev-download,下载完成后解压,将lib下面的jar和so文件放入工程的libs下面,compile fileTree(include: ['*.jar'], dir: 'libs') build.grade下有这个语句 就只需要 在android下添加 sourceSet{main {jniLib.Dir('libs')}}就可以了 这个地方百度开发文档说的有点模糊,也可以自己创建jniLib文件夹添加so文件,但不要同时都做。

  然后在清单文件中添加权限 service(定位需要)mata(只需要改自己的ak就行),注意也别放错位置了。百度开发文档都有不在粘贴 http://lbsyun.baidu.com/index.php?title=androidsdk/guide/hellobaidumap。

3、展示地图 定位 添加覆盖物 地理编码等

  在自己的xml文件中引入mapview,在Java代码中 初始化地图的SDK  SDKInitializer.initialize(getApplicationContext());获取mapview并且在activity的生命周期中实现mapview的周期 ,到目前位置,运行应用就可以看到地图的效果了,北京。

  通过LocationClient 、BaiduMap、BDLocationListener实现定位功能 通过mapview获取baidumap 设置LocationClient 的参数 和监听器 ,实现BDLocationListener接口,然后开启定位 LocationClient.start(),通过接口回调的location就能获取位置等信息 。

  通过纬度和经度改变地图所显示的位置和添加自己位置

    a、移动地图的位置  LatLng ll = new LatLng(location.getLatitude(),        location.getLongitude());  MapStatusUpdate update = MapStatusUpdateFactory.newLatLng(ll);  // 移动到某经纬度  mBaiduMap.animateMapStatus(update);

    b、添加自己的位置
  mBaiduMap.setMyLocationEnabled(true);  // 构造定位数据  MyLocationData locData = new MyLocationData.Builder()        .accuracy(location.getRadius())        // 此处设置开发者获取到的方向信息,顺时针0-360        .direction(100).latitude(location.getLatitude())        .longitude(location.getLongitude()).build();  // 设置定位数据  mBaiduMap.setMyLocationData(locData);

    c、通过mBaiduMap.addOverlay(option);添加覆盖物marker等 参考百度文档  //添加marker
  //构建Marker图标

  BitmapDescriptor bitmap = BitmapDescriptorFactory        .fromResource(drawable);  //构建MarkerOption,用于在地图上添加Marker  OverlayOptions option = new MarkerOptions()        .position(point)        .icon(bitmap);  //在地图上添加Marker,并显示  mBaiduMap.addOverlay(option);

  d、添加线等,pts为一个集合List<LatLng>
  OverlayOptions polylineOption = new PolylineOptions()        .points(pts).width(5).color(0XFFff0000)        ;  mBaiduMap.addOverlay(polylineOption);

  e、地理编码 输入一个位置返回经纬度
  mSearch = GeoCoder.newInstance();获取实例对象 设置监听器,实现监听器接口OnGetGeoCoderResultListener ,回调的result就可以获取信息 ,注意都是异步的,当然也有反地理编码。

 百度地图实现的功能很多,你能想到的 所需要的 都能提供。

												

Android开放百度地图集成的更多相关文章

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

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

  2. Android使用百度地图出现闪退及定位时显示蓝屏问题

     目录 1.Android使用百度地图出现闪退 2.Android使用百度地图定位出现蓝屏问题     1.Android使用百度地图出现闪退 一般情况下出现闪退是在AndroidManifest.x ...

  3. Android studio百度地图demo出现230错误,key校验失败

    转自daoxiaomianzi原文 Android studio 百度地图demo出现230错误,key校验失败 使用AndroidStudio导入Baidu地图的as版的demo,引入后,发现没有k ...

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

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

  5. Android端百度地图API使用详解

    百度地图API简介 百度地图移动版API(Android)是一套基于Android设备的应用程序接口,通过该接口,可以轻松的访问百度服务和数据,构建功能丰富.交互性强的地图应用程序. 百度地图移动版A ...

  6. android编程——百度地图初探

    项目需要,花了一天时间研究了下百度地图的API,其实看起来可能会有点困难,但是将它的DEMO跑起来之后一切都迎刃而解的样子了.百度方面讲地图的接口封装的挺不错的,而且现在能够提供的地图的服务也有将近十 ...

  7. android使用百度地图SDK获取定位信息

    本文使用Android Studio开发. 获取定位信息相对简单.我们仅仅须要例如以下几步: 第一步,注冊百度账号,在百度地图开放平台新建应用.生成API_KEY.这些就不细说了,请前往这里:titl ...

  8. 【转载】Android端百度地图API使用详解

    转载地址:http://www.cnblogs.com/rocomp/p/4994110.html 百度地图API简介 百度地图移动版API(Android)是一套基于Android设备的应用程序接口 ...

  9. Android通过百度地图API用Service和Alarm在后台定时获取地理位置信息

    本文主要介绍了Android项目集成百度地图API,使用AlarmManager定时调用Service,在Service中请求坐标更新,并通过坐标得到省.市和县三级地理位置信息的方法. 程序结构很简单 ...

随机推荐

  1. POJ 2823 Sliding Window & Luogu P1886 滑动窗口

    Sliding Window Time Limit: 12000MS   Memory Limit: 65536K Total Submissions: 66613   Accepted: 18914 ...

  2. python - 那些零碎的知识点

    python - 那些零碎的知识点 一. 字符串格式化 1. "旧式字符串解析(%操作符)" 'Hello, %s' % name "Hello, Bob" ' ...

  3. SLF4J和Logback和Log4j和Logging的区别与联系

    本文转载自:一个著名的日志系统是怎么设计出来的?(作者:刘欣) 前言 Java帝国在诞生之初就提供了集合.线程.IO.网络等常用功能,从C和C++领地那里吸引了大量程序员过来加盟,但是却有意无意地忽略 ...

  4. webpack-dev-server和webpack

    指导小伙伴在webstorm+nodejs环境下新建项目时,小伙伴出现了一个很神奇的问题:没有执行webpack-dev-server情况下,即使执行npm init,也不会出现package.jso ...

  5. linux学习9-进程管理知识

    Linux 进程管理 实验环境: 用户名:shiyanlou 密码:AJW3tui5 Linux进程之管理控制 实验介绍 通过本实验我们将掌握一些 Linux 所提供的工具来进行进程的查看与控制,掌握 ...

  6. 【Codeforces 340D】Bubble Sort Graph

    [链接] 我是链接,点我呀:) [题意] 让你根据冒泡排序的规则 建立一张图 问你这张图的最大独立子集的大小 [题解] 考虑a[i]会和哪些点连边? 必然是在a[i]左边且比它大的数字以及在a[i]右 ...

  7. N天学习一个linux命令之sort

    用途 对文本内容按行排序,输出排好序后的内容到标准输出流 用法 sort [OPTION]... [FILE]... sort [OPTION]... --files0-from=F 常用选项 -b, ...

  8. Android颜色透明度数值一览

    100% — FF 95% — F2 90% — E6 85% — D9 80% — CC 75% — BF 70% — B3 65% — A6 60% — 99 55% — 8C 50% — 80 ...

  9. 大型项目开发: 隔离 (《大规模C++程序设计》书摘)

    书中第六章 隔离. 主要在撰述什么须要定义在头文件?什么应当移到编译单元中? 核心仍然是先区分接口定义与实现细节.实现细节的改变会导致客户代码的又一次编译,从逻辑上也表示与客户代码间可能存在着强耦合. ...

  10. jquery ajax CORS 跨域訪问 WebService

    JS代码: var word = document.getElementById("word").value; $.ajax({ type: "POST", c ...