Android 调用百度地图API示例

Android 调用百度地图API

一、到 百度地图开发平台下载SDK

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

1、点击自定义下载

2、下载自己想要的功能包我这里选了三个

3、获取密钥

获取密钥之前我们要新建一个应用

填写好相关的信息

二、 新建一个项目工程

1、 把下载好的百度sdk中的jar包拷贝到项目的libs目录下

2、在application中添加开发密钥

3、添加所需的权限

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<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.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS" />

4、在布局xml文件中添加地图的控件和一个按钮控件;

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical"
  tools:context="com.example.baidumap.MainActivity" >

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

</LinearLayout>

5、编写src文件

public class MainActivity extends Activity {
  private MapView mMapView = null;
  private BaiduMap mBaiduMap;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //在使用SDK各组件之前初始化context信息,传入ApplicationContext
    //注意该方法要再setContentView方法之前实现
    SDKInitializer.initialize(getApplicationContext());
    setContentView(R.layout.activity_main);

    //初始化控件
    initView();
  }

  private void initView() {
    //获取地图控件引用
    mMapView = (MapView) findViewById(R.id.bmapView);

    //获取百度地图
    mBaiduMap = mMapView.getMap();

    //普通地图
    mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);

    //开启交通图
    mBaiduMap.setTrafficEnabled(true);  

    //卫星地图
    //mBaiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE); 

  }

  @Override
  protected void onDestroy() {
    super.onDestroy();
    //在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理
    mMapView.onDestroy();
  }
  @Override
  protected void onResume() {
    super.onResume();
    //在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理
    mMapView.onResume();
    }
  @Override
  protected void onPause() {
    super.onPause();
    //在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理
    mMapView.onPause();
  }

}

三、运行项目

导出带签名文件的APK,签名文件的SHA1码要和创建百度地图应用时输入的SHA1码一致

更多的功能请看百度地图的官方文档

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Android集成百度地图开发流程和注意事项

    前言 最近公司要把百度地图集成的项目中,于是我就研究了一天百度地图的SDK,当前的版本:Android SDK v3.0.0 . 虽然百度地图网上相关代码比较多,大多可能都是比较旧的版本,且百度地图API的改动感觉也比较大,所以再此跟大家分享一下实现的流程的和注意事项 一.申请密钥 重难点:获取Android签名证书的sha1值 方法一.使用keytool 进入命令提示符 获取debug的sha1值: 定位到.android文件夹下,输入keytool -list -v -keystore de

  • android实现百度地图自定义弹出窗口功能

    我们使用百度地图的时候,点击地图上的Marker,会弹出一个该地点详细信息的窗口,如下左图所示,有时候,我们希望自己定义这个弹出窗口的内容,或者,干脆用自己的数据来构造这样的弹出窗口,但是,在百度地图最新的Android SDK中,没有方便操作这种弹出窗口的类,虽然有一个PopupOverlay,但是它只支持将弹出内容转化为不多于三个Bitmap,如果这个弹出窗口里想有按钮来响应点击事件,用这个就不能满足要求了,于是,看了一遍百度地图覆盖物的API,我决定用自定义View的方法来实现类似的效果,

  • Android百度地图应用开发基础知识

    一.概述  这一章先来点有意思的百度地图应用示例,然后再分章详细介绍用C#开发Android App的各种基本技术.  本章以百度官网2016年1月发布的地图API(3.7.1版)为例,演示如何用C#和VS2015编写百度地图应用程序,这些示例程序既可以在Android 6.0的x86模拟器中运行,也可以发布到Android 4.0以上版本的手机中测试实际运行的效果.  1.下载官网提供的Demos  首先访问下面的网址: http://developer.baidu.com/map/ 打开网页

  • Android百度地图自定义公交路线导航

    一.问题描述 基于百度地图实现检索指定城市指定公交的交通路线图,效果如图所示 二.通用组件Application类,主要创建并初始化BMapManager public class App extends Application { static App mDemoApp; //百度MapAPI的管理类 public BMapManager mBMapMan = null; // 授权Key // 申请地址:http://dev.baidu.com/wiki/static/imap/key/ p

  • 基于Android实现百度地图定位过程详解

    一.问题描述 LBS位置服务是android应用中重要的功能,应用越来越广泛,下面我们逐步学习和实现lbs相关的应用如定位.地图.导航等,首先我们看如何基于百度地图实现定位功能 二.配置环境 1.注册密钥:地址http://developer.baidu.com/map/ 2.下载定位SDK,并导入SDK如图所示: 三.编写MyApplication类 编写MyApplication类,为了使用方便我们可以将实现定位的方法封装的Application组件中 封装下列方法 1.  获取定位信息--

  • Android 百度地图POI搜索功能实例代码

    在没介绍正文之前先给大家说下poi是什么意思. 由于工作的关系,经常在文件中会看到POI这三个字母的缩写,但是一直对POI的概念和含义没有很详细的去研究其背后代表的意思.今天下班之前,又看到了POI这三个字母,决定认认真真的搜索一些POI具体的含义. POI是英文的缩写,原来的单词是point of interest, 直译成中文就是兴趣点的意思.兴趣点这个词最早来自于导航地图厂商.地图厂商为了提供尽可能多的位置信息,花费了很大的精力去寻找诸如加油站,餐馆,酒店,景点等目的地,这些目的地其实都可

  • Android百度定位导航之基于百度地图移动获取位置和自动定位

    一.问题描述 使用百度地图实现如图所示应用,首先自动定位当前我起始位置(小圆点位置),并跟随移动不断自动定位我的当前位置 百度Api不同版本使用会有些差异,本例中加入lib如下: 二.编写MyApplication类 public class MyApplication extends Application { static MyApplication myApplication; BMapManager mBMapManager = null; String mStrKey = "7ZfuR

  • Android SDK 百度地图通过poi城市内检索简介接口的使用

    百度地图 SDK 不仅为广大开发者提供了炫酷的地图展示效果.丰富的覆盖物图层,更为广大开发者提供了多种 LBS 检索的能力.通过这些接口,开发者可以轻松的访问百度的 LBS 数据,丰富自己的移动端地图应用. 目前百度地图 SDK 为开发者提供的检索服务有: POI 检索:可以检索百度 POI 数据信息: 线路规划:利用百度的引擎帮助开发者规划线路: 在线建议检索.短链接分享.地理编码等等.... 本文将以一个很简单的 POI 城市内检索为例,像广大开发者介绍接口的使用. 第一步,选择并下载 SD

  • Android下如何使用百度地图sdk

    可以使用该套 SDK开发适用于Android系统移动设备的地图应用,通过调用地图SDK接口,您可以轻松访问百度地图服务和数据,构建功能丰富.交互性强的LBS(地图类)应用程序. 百度地图Android SDK提供的所有服务是免费的,接口使用无次数限制.您需申请密钥(key)后,才可使用百度地图Android SDK.任何非营利性产品请直接使用.这弦外之音就是盈利的产品必须帮百度给钱. 一.百度地图api平台. 百度地图API网址:http://developer.baidu.com/map/sd

  • Android百度地图应用之MapFragment的使用

    一.简介  TextureMapFragment:用于显示地图片段.  二.示例3--Demo03MapFragment.cs  文件名:Demo02MapFragment.cs  简介:介绍在Fragment框架下使用地图  详述:介绍如何在Fragment框架下添加一个TextureMapFragment控件:  1.运行截图  在x86模拟器中运行的效果如下: 2.设计步骤  在上一节例子的基础上,只需要再增加下面的步骤即可.  (1)修改布局文件 将demo02_fragment.xml

  • Android百度地图定位后获取周边位置的实现代码

    本文实例讲解Android百度地图定位后获取周边位置的实现代码,分享给大家供大家参考,具体内容如下 效果图: 具体代码: 1.布局文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical&q

  • Android百度地图实现搜索和定位及自定义图标绘制并点击时弹出泡泡

    一.问题描述 上一次我们使用百度地图实现基本的定位功能,接下来我们继续实现搜索和定位,并使用LocationOverlay绘制定位位置,同时展示如何使用自定义图标绘制并点击时弹出泡泡 如图所示: 二.编写MyApplication类 public class MyApplication extends Application { private static MyApplication mInstance = null; public boolean m_bKeyRight = true; pu

  • Android百度地图应用之图层展示

    一.简介  1.地图类型  百度地图Android SDK 3.7.1提供了两种类型的地图资源(普通矢量地图和卫星图),开发者可以利用BaiduMap中的MapType属性(C#)来设置地图类型.C#核心代码如下: mMapView = FindViewById<TextureMapView>(Resource.Id.bmapView); mBaiduMap = mMapView.Map; //设置底图显示模式:普通地图 mBaiduMap.MapType = BaiduMap.MapType

  • Android百度地图poi范围搜索

    我想大家可能都有过这样的经历:兜里揣着一张银行卡,在街上到处找自动取款机(ATM).在这个场景中,ATM就是的兴趣点,我们想做的事情就是找到离自己较近的一些ATM然后取款,此时我们并不关心附近有哪些超市.酒吧,因为这些地方没办法取钱! 说了这么多,一方面是加深大家对POI这个词的认识,另一方面也是为了让大家明白我们接下来要做的事情.理论性的东西就不再多讲了,直接来看例子. 先给大家展示下效果图: 详细界面: 该示例主要介绍关键词查询.suggestion查询和查看餐饮类Place详情页功能,尤其

  • android百度地图之公交线路详情搜索

    本篇文章可以实现百度公交线路搜索,可以选择多条线路,具体实现代码如下: 一.公交线路详情检索 获取公交线路的详情主要分来两步,1.获取公交线路的Uid,2.通过Uid获取公交线路详情. 1.获取公交线路的Uid: /* * 获得公交线路图的Uid,并且根据系Uid发起公交线路详情的检索 * * @see * com.baidu.mapapi.MKSearchListener#onGetPoiResult(com.baidu.mapapi * .MKPoiResult, int, int) */

随机推荐