一、申请密钥

1、先用eclipse创建一个Android工程
2、在百度api官网上申请一个密钥,链接:http://lbsyun.baidu.com/apiconsole/key

二、工程配置
1、将baidumapapi_vX_X_X.jar拷贝到工程libs目录下,将libBaiduMapSDK_vX_X_X.so拷贝到libs\armeabi
目录下,拷贝完成后,如下所示:
注:liblocSDK3.so和locSDK_3.1.jar为百度定位SDK所使用资源,开发者可根据实际需求自行添加。
2、右键工程属性,在Libraries中选择“Add External JARs”,选择baidumapapi_vX_X_X.jar,确定返回
配置好以上步骤,即可使用百度地图了
 
三、显示百度地图
1、在android配置清单文件中AndroidManifest.xml添加开发密钥和所需权限
  1. <application><meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="开发者 key"/></application>
 
所需权限
  1. <uses-permissionandroid:name="android.permission.GET_ACCOUNTS"/>
  2. <uses-permissionandroid:name="android.permission.USE_CREDENTIALS"/>
  3. <uses-permissionandroid:name="android.permission.MANAGE_ACCOUNTS"/>
  4. <uses-permissionandroid:name="android.permission.AUTHENTICATE_ACCOUNTS"/>
  5. <uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/>
  6. <uses-permissionandroid:name="android.permission.INTERNET"/>
  7. <uses-permissionandroid:name="com.android.launcher.permission.READ_SETTINGS"/>
  8. <uses-permissionandroid:name="android.permission.CHANGE_WIFI_STATE"/>
  9. <uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"/>
  10. <uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/>
  11. <uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  12. <uses-permissionandroid:name="android.permission.BROADCAST_STICKY"/>
  13. <uses-permissionandroid:name="android.permission.WRITE_SETTINGS"/>
  14. <uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/> 
2、在xml布局中添加地图控件
  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"/>
​3、在应用程序创建时初始化,SDK引用的全局变量Context
 

注意:在SDK各功能组件使用之前都需要调用

SDKInitializer.initialize(getApplicationContext());,因此我们建议该方法放在Application的初始化方法中

  1. publicclassMyApplicationextendsApplication{
  2. @Override
  3. publicvoid onCreate(){
  4. super.onCreate();
  5. //在使用SDK各组件之前初始化context信息,传入ApplicationContext
  6. SDKInitializer.initialize(getApplicationContext());
  7. System.out.println("SDKInitializer一初始化");
  8. }
  9. }
  1. 设置自定义的application为默认应用
  2. <application
  3. android:name="com.bao.ah.MyApplication"
  4. android:allowBackup="true"
  5. android:icon="@drawable/ic_launcher"
  6. android:label="@string/app_name"
  7. android:theme="@style/AppTheme">
 
  1. publicclassMainActivityextendsActivity{
  2. @Override
  3. protectedvoid onCreate(Bundle savedInstanceState){
  4. super.onCreate(savedInstanceState);
  5. //在使用SDK各组件之前初始化context信息,传入ApplicationContext
  6. //注意该方法要再setContentView方法之前实现
  7. //SDKInitializer.initialize(getApplicationContext());
  8. setContentView(R.layout.activity_main);
  9. }
  10. }
4、百度地图应和Activity生命周期绑定

  1. publicclassMainActivityextendsActivity{
  2. MapView mMapView =null;
  3. @Override
  4. protectedvoid onCreate(Bundle savedInstanceState){
  5. super.onCreate(savedInstanceState);
  6. //在使用SDK各组件之前初始化context信息,传入ApplicationContext
  7. //注意该方法要再setContentView方法之前实现
  8. //SDKInitializer.initialize(getApplicationContext());
  9. setContentView(R.layout.activity_main);
  10. //获取地图控件引用
  11. mMapView =(MapView) findViewById(R.id.bmapView);
  12. }
  13. @Override
  14. protectedvoid onDestroy(){
  15. super.onDestroy();
  16. //在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理
  17. mMapView.onDestroy();
  18. }
  19. @Override
  20. protectedvoid onResume(){
  21. super.onResume();
  22. //在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理
  23. mMapView.onResume();
  24. }
  25. @Override
  26. protectedvoid onPause(){
  27. super.onPause();
  28. //在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理
  29. mMapView.onPause();
  30. }
  31. }
完成步骤,运行程序,如下:
 
 
 
 
 

如何使用百度地图API的更多相关文章

  1. 百度地图API的使用

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

  2. 吐槽贴:百度地图 api 封装 的实用功能 [源码下载]

    ZMap 类 功能介绍 ZMap 是学习百度地图 api 接口,开发基本功能后整的一个脚本类,本类方法功能大多使用 prototype 原型 实现: 包含的功能有:轨迹回放,圈画区域可编辑,判断几个坐 ...

  3. 百度地图API 批量添加 带检索功能的信息窗口

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. 百度地图api的覆盖物样式与bootstrap样式冲突解决办法

    使用百度地图api 和 bootstrap ,发现标注样式出现了问题 label左侧 宽度变得非常窄 正常情况下应该是下面这样的: 原因是boostrap样式和百度地图样式冲突了. 解决办法: .ba ...

  5. 百度地图API试用--(初次尝试)

    2016-03-17: 百度地图API申请key的步骤相对简单,不做过多阐述. 初次使用百度地图API感觉有点神奇,有些功能加进来以后有点问题,注释掉等有空再解决. 代码如下: <%@ page ...

  6. 百度地图API显示多个标注点并添加百度样式检索窗口

    原作者博客地址:http://blog.csdn.net/a497785609/article/details/24009031 在此基础上进行了修改: 1.添加闭包,将i传入内部 2.添加地图和卫星 ...

  7. 百度地图API简单应用

    在做移动端应用时经常用到百度地图API,百度API有强大的示例和文档,开发之前去百度相关网站注册密钥,很块博主只花了几分钟 百度地图API范例 百度地图API文档说明 例子1:输入特定关键字绘制地图标 ...

  8. Winform实现用多线程、百度地图API解析某公司的物理地址

    前言 作为一个很挫的C#新手总喜欢自己写点儿不着边际的东西,本人是个新手加菜鸟,写B/S的,工作中,任务完成了,空闲下来,总想继续学点儿什么,由此触发了本篇文章了.个人一直认为,.NET中,C/S所要 ...

  9. 百度地图API的IP定位城市和浏览器定位(转)

    百度地图API提供了Geolocation 和 LocalCity两个服务类. 这俩API可以分别供用户在JavaScript中进行定位和城市确认. 1 本质上,Geolocation这个类是使用了支 ...

  10. 百度地图api

    引入js <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak ...

随机推荐

  1. ubuntu 下 docker安装

    1移除以前安装docker sudo apt-get remove docker docker-engine docker-ce docker.io 2 安装包以允许apt通过HTTPS使用存储库 s ...

  2. 集合框架比较两个对象是否相同(equals和hashCode方法)

    package com.dcz.hashset; import java.util.HashSet; import java.util.Set; /** * HashSet是接口最常用的实现类,顾名思 ...

  3. babel-loader7和babel8版本的问题

    根据官网https://www.npmjs.com/package/babel-loader要对应版本 一.babel7.X版本 1.要安装的包  第1套包:npm i babel-core babe ...

  4. (转载)EventBus使用详解

    (转载)http://liuling123.com/2016/01/EventBus-explain.html 概述 EventBus是针一款对Android的发布/订阅事件总线.它可以让我们很轻松的 ...

  5. RAM建模和初始化

    冯诺依曼提出的存储计算,计算存储,因此,几乎所有的CPU和ASIC都会使用存储器,它们的类型很多,包括异步RAM.同步RAM.ZBT RAM.DDR DRAM.ROM等.由于大部分的异步RAM和SRA ...

  6. Javafinal变量

    class Test02 {     public static void main(String args[]){         final int x;         x = 100; //  ...

  7. 利用python实现整数转换为任意进制字符串

    假设你想将一个整数转换为一个二进制和十六进制字符串.例如,将整数 10 转换为十进制字符串表示为 10 ,或将其字符串表示为二进制 1010 . 实现 以 2 到 16 之间的任何基数为参数: def ...

  8. 第2节 azkaban调度:1、azkaban的调度任务使用

    2.4 Azkaban实战 Azkaba内置的任务类型支持command.java Command类型单一job示例 创建job描述文件 创建文本文件,更改名称为mycommand.job 注意后缀. ...

  9. c# DateTime常用用法

    参考:http://sqlyuju.com/c-datetime-hh-hh-qubie.html https://www.cnblogs.com/xiongxiaobai/p/5282827.htm ...

  10. React中 checkbox 与 label 标签的搭配

    用<label>标签替代checkbox的点击样子,点击<label>实际上就是点击checkbox checkbox的checked值会跟着一起变 <input typ ...