android引入百度地图之最简单的例子-HelloBaiDuMap
开发工具
我用的是eclipse,目前这是开发android用的最多的一个工具。
开发准备
首先需要在百度地图开发平台上下载所需要的文档和功能,由于最新版的3.0.0的不是很熟悉,我这里用的是稍旧一点的版本:2.4.1版的;这里是下载地址:http://developer.baidu.com/map/sdkandev-download.htm。我是在这个页面的右下角点击历史版本下载的2.4.1版的:
下载之后它里面有这样一个压缩文件:
解压开之后是这样的三个压缩包:
其中Sample是它的Demo,解压开之后是这样的:
打开之后里面是各种各样功能的demo;
工程配置
第一步:将开发包里的lib文件夹整个拷贝,然后粘贴到你的项目文件夹下,覆盖原有的文件,然后是这样的:
第二步:在工程属性->Java Build Path->Libraries中选择“Add External JARs”,选定baidumapapi_v2_4_1.jar,确定后返回。
通过以上两步操作后,您就可以正常使用百度地图SDK为您提供的全部功能了。
注意:由于adt插件升级,若您使用Eclipse adt 22的话,需要对开发环境进行相应的设置,方法如下:
1. 在Eclipse 中选中工程,右键选 Properties->Java Build Path->Order and Export 使 Android Private Libraries处于勾选状态;
2. Project -> clean-> clean all .
显示百度地图
百度地图SDK为开发者提供了便捷的显示百度地图数据的接口,通过以下几步操作,即可在您的应用中使用百度地图数据:
第一步:创建并配置工程(具体方法参见工程配置部分的介绍);
第二步:在AndroidManifest中添加开发密钥、所需权限等信息;
(1)在application中添加开发密钥
<application
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="开发者 key" />
</application>
(2)添加所需权限
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
<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.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
第三步,在布局xml文件中添加地图控件;
<com.baidu.mapapi.map.MapView
android:id="@+id/bmapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true" />
第四步,加载配置项:
package com.example.mybaidumap;
import com.baidu.mapapi.BMapManager;
import com.baidu.mapapi.MKGeneralListener;
import com.baidu.mapapi.map.MapController;
import com.baidu.mapapi.map.MapView;
import com.baidu.platform.comapi.basestruct.GeoPoint;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class MainActivity extends Activity implements MKGeneralListener{
private BMapManager mBMapMan = null;
private MapView mMapView = null;
private MapController mMapController = null;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mBMapMan = new BMapManager(getApplication());
mBMapMan.init(this);
setContentView(R.layout.activity_main);
// 获取地图控件引用
mMapView = (MapView) findViewById(R.id.bmapView);
mMapView.setBuiltInZoomControls(true);//设置缩放
}
@Override
protected void onDestroy() {
super.onDestroy();
// 在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理
mMapView.destroy();
}
@Override
protected void onResume() {
super.onResume();
// 在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理
mMapView.onResume();
}
@Override
protected void onPause() {
super.onPause();
// 在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理
mMapView.onPause();
}
@Override
public void onGetNetworkState(int arg0) {
// TODO Auto-generated method stub
}
@Override
public void onGetPermissionState(int arg0) {
// TODO Auto-generated method stub
}
}
最后一步:运行你的app就可以看到百度地图了。
最新文章
- LTE 测试文档(翻译)
- nodejs学习笔记(2)--Express下安装模版引擎ejs
- &#39;NSInteger&#39; (aka &#39;long&#39;) to &#39;int32
- flash&;nbsp;wmode=&;quot;window&;amp;qu…
- javascript 比较对象(hashcode)
- C++_01_入门
- 【Egret】2D 使用中的一些疑难解决技巧!
- mysql5.6版本备份报错
- c#:实现动态编译,并实现动态MultiProcess功能(来自python multiprocess的想法)
- Django学习笔记(9)—— 开发用户注册与登录系统
- C++插入排序
- Ali流量控制中间件Sentinel
- Liferay7 BPM门户开发之17: Portlet 生命周期
- 关于出现Not an editor command: Bundle &#39;**/*.vim&#39;的解决方案【转】
- win8安装iis asp.net
- SpringBoot与SpringCloud学习指南
- 数据库和struts2的拦截器
- sqoop一些语法的使用
- node事件循环
- Educational Codeforces Round 39 (Rated for Div. 2) G
热门文章
- Mysql 学习之EXPLAIN作用
- java之基础数据类型学习————(一)
- iOS 11 &; iPhone X 适配资料集
- 使用vim编写hexo文档,并用ultisnips/snipmates/snippets插件补全
- sharepoint 创建个人网站
- .net 面试题
- [Python] 文科生零基础学编程系列三——数据运算符的基本类别
- LeetCode 287. Find the Duplicate Number (找到重复的数字)
- celery rabbit mq 详解
- Appium python自动化测试系列之页面滑动原理讲解(十)