1
百度地图移动版 API for android
开发指南
2011.4.27
CopyRight @ Baidu.com
2
目录
1 简介 ............................................................................................................... 3
2 在您的地图中显示......................................................................................... 3
3 地图图层 ....................................................................................................... 7
3.1 底图 ..................................................................................................... 7
3.2 实时交通信息 ...................................................................................... 7
3.3 卫星图 ................................................................................................. 8
3.4 实景图 ................................................................................................. 8
4 覆盖物 ........................................................................................................... 8
4.1 覆盖物的抽象类 :Overlay ................................................................. 9
4.2 当前位置:MyLocationOverlay ............................................................ 9
4.3 分条目覆盖物:ItemizedOverlay ........................................................ 10
4.4 本地搜索覆盖物:PoiOverlay ............................................................. 11
4.5 驾车路线覆盖物:RouteOverlay ......................................................... 11
4.6 换乘路线覆盖物:TransitOverlay ........................................................ 11
5 服务类 .......................................................................................................... 11
5.1 搜索服务 ............................................................................................. 11
5.2 POI 搜索及 PoiOverlay ........................................................................ 12
5.3 驾车路线搜索及 RouteOverlay ............................................................ 13
5.4 步行路线搜索及 RouteOverlay ............................................................ 15
5.5 公交换乘路线搜索及 TransitOverlay ......................................................... 15
5.6 地址信息查询 ..................................................................................... 16
6 事件 .............................................................................................................. 16
6.1 定位监听 ............................................................................................. 16
6.2 一般事件监听 ..................................................................................... 17
3
1 简介
什么是百度地图 API?
百度地图移动版 API(Android)是一套基于 Android 1.5 及以上设备的应用程序接口,通过该接口,
您可以轻松访问百度服务和数据,构建功能丰富、交互性强的地图应用程序。百度地图移动版 API
不仅包含构建地图的基本接口,还提供了诸如地图定位、本地搜索、路线规划等数据服务,你可以根
据自己的需要进行选择。
面向的读者
API 是提供给那些具有一定 Android 编程经验和了解面向对象概念的读者使用。此外,读者还应该对
地图产品有一定的了解。
您在使用中遇到任何问题,都可以通过 API 贴吧或交流群反馈给我们。
获取 API Key
用户在使用 API 之前需要获取百度地图移动版 API Key,该 Key 与你的百度账户相关联,您必须先有
百度帐户,才能获得 API KEY。并且,该 KEY 与您引用 API 的程序名称有关,具体流程请参照获取
密钥。
兼容性
支持 Android 1.5 及以上系统。
2 在您的地图中显示
如何把 API 添加到我的 Android 工程中?
首先将 API 包括的两个文件 baidumapapi.jar 和 libBMapApiEngine.so 拷贝到工程根目录及 libs\armeabi
目录下,并在工程属性->Java Build Path->Libraries 中选择“Add JARs”,选定 baidumapapi.jar,确定后
返回,这样您就可以在您的程序中使用 API 了。
百度地图的“Hello,World”
在 Manifest 中添加使用权限
1.
<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE"
></uses-per
mission>
2.
<uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION"
></uses-per
mission>
3.
<uses-permission
android:name="android.permission.INTERNET"
></uses-permission>
4.
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
></uses-p
ermission>
5.
<uses-permission
android:name="android.permission.ACCESS_WIFI_STATE"
></uses-permis
sion>
4
6.
<uses-permission
android:name="android.permission.CHANGE_WIFI_STATE"
></uses-permis
sion>
7.
<uses-permission
android:name="android.permission.READ_PHONE_STATE"
></uses-permiss
ion>
在 Manifest 中添加 Android 版本支持
1.
<supports-screens
android:largeScreens="true" android:normalScreens="true" androi
d:smallScreens="true" android:resizeable="true" android:anyDensity="true"
/>
2.
<uses-sdk
android:minSdkVersion="3"
></uses-sdk>
让创建的地图 Activity 继承 com.baidu.mapapi.MapActivity, 并 import 相关类
1.
import
java.util.ArrayList;
2.
import
java.util.List;
3.
import
android.content.Context;
4.
import
android.graphics.Canvas;
5.
import
android.graphics.Paint;
6.
import
android.graphics.Point;
7.
import
android.graphics.drawable.Drawable;
8.
import
android.location.Location;
9.
import
android.os.Bundle;
10.
import
android.util.Log;
11.
import
android.view.View;
12.
import
android.widget.Toast;
13.
import
com.baidu.mapapi.BMapManager;
14.
import
com.baidu.mapapi.GeoPoint;
15.
import
com.baidu.mapapi.ItemizedOverlay;
16.
import
com.baidu.mapapi.LocationListener;
17.
import
com.baidu.mapapi.MKAddrInfo;
18.
import
com.baidu.mapapi.MKDrivingRouteResult;
19.
import
com.baidu.mapapi.MKGeneralListener;
20.
import
com.baidu.mapapi.MKLocationManager;
21.
import
com.baidu.mapapi.MKPlanNode;
22.
import
com.baidu.mapapi.MKPoiResult;
23.
import
com.baidu.mapapi.MKSearch;
24.
import
com.baidu.mapapi.MKSearchListener;
25.
import
com.baidu.mapapi.MKTransitRouteResult;
26.
import
com.baidu.mapapi.MKWalkingRouteResult;
27.
import
com.baidu.mapapi.MapActivity;
28.
import
com.baidu.mapapi.MapController;
5
29.
import
com.baidu.mapapi.MapView;
30.
import
com.baidu.mapapi.MyLocationOverlay;
31.
import
com.baidu.mapapi.Overlay;
32.
import
com.baidu.mapapi.OverlayItem;
33.
import
com.baidu.mapapi.PoiOverlay;
34.
import
com.baidu.mapapi.RouteOverlay;
35.
import
com.baidu.mapapi.TransitOverlay;
36.
37.
public
class
MyMapActivity
extends
MapActivity {
38.
@Override
39.
public
void
onCreate(Bundle savedInstanceState) {
40.
super
.onCreate(savedInstanceState);
41.
setContentView(R.layout.main);
42.
}
43.
44.
@Override
45.
protected
boolean
isRouteDisplayed() {
46.
return
false
;
47.
}
48.
}
在布局 xml 中添加地图控件
1.
<?xml
version="1.0" encoding="utf-8"
?>
2.
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"android:or
ientation="vertical" android:layout_width="fill_parent" android:layout_height="f
ill_parent"
>
3.
<TextView
android:layout_width="fill_parent" android:layout_height="wrap_content
" android:text="@string/hello"
/>
4.
<com.baidu.mapapi.MapView
android:id="@+id/bmapsView" android:layout_width="fill
_parent" android:layout_height="fill_parent" android:clickable="true"
/>
5.
</LinearLayout>
初始化地图 Activity
在地图 Activity 中定义变量: BMapManager mBMapMan = null; 在 onCreate 方法中增加以下代码,
并将您申请的 Key 替换“我的 Key”:
1.
mBMapMan =
new
BMapManager(getApplication());
2.
mBMapMan.init("
我的
Key",
null
);
3.
super
.initMapActivity(mBMapMan);
评论0
最新资源