转载请标明:http://blog.csdn.net/u012637501
一、基础地图SDK简介
目前百度地图SDK所提供的地图等级为3-19级,所包含的信息有建筑物、道路、河流、学校、公园等内容。所有叠加或覆盖到地图的内容,我们统称为地图覆盖物。如标注、矢量图形元素(包括:折线、多边形和圆等)、定位图标等。覆盖物拥有自己的地理坐标,当您拖动或缩放地图时,它们会相应的移动。百度地图SDK为广大开发者提供的基础地图和上面的各种覆盖物元素,具有一定的层级压盖关系,具体如下(从下至上的顺序):
1、基础底图(包括底图、底图道路、卫星图等);
2、地形图图层(GroundOverlay);
3、热力图图层(HeatMap);
4、实时路况图图层(BaiduMap.setTrafficEnabled(true););
5、百度城市热力图(BaiduMap.setBaiduHeatMapEnabled(true););
6、底图标注(指的是底图上面自带的那些POI元素);
7、几何图形图层(点、折线、弧线、圆、多边形);
8、标注图层(Marker),文字绘制图层(Text);
9、指南针图层(当地图发生旋转和视角变化时,默认出现在左上角的指南针);
10、定位图层(BaiduMap.setMyLocationEnabled(true););
11、弹出窗图层(InfoWindow);
12、自定义View(MapView.addView(View);)
二、BaiduMap类
1.作用:地图控制器,定义BaiduMap地图对象的操作方法与接口;
2.获取BaiduMap实例
BaiduMap mBaiduMap=null;
mBaiduMap = mapView.getMap();
3.嵌套类(部分)与静态常量
static BaiduMap.OnMapClickListener :地图单击事件监听接口
static BaiduMap.OnMapDoubleClickListener :地图双击事件监听接口
static BaiduMap.OnMapLoadedCallback :地图加载完成回调接口
static BaiduMap.OnMapLongClickListener :地图长按事件监听接口
static BaiduMap.OnMapTouchListener :用户触摸地图时回调接口
static BaiduMap.OnMarkerClickListener :地图 Marker 覆盖物点击事件监听接口
static BaiduMap.OnMarkerDragListener :地图 Marker 覆盖物拖拽事件监听接口
static BaiduMap.OnMyLocationClickListener :地图定位图标点击事件监听接口
static int MAP_TYPE_NORMAL:普通地图模式常量, setMapType(int)
static int MAP_TYPE_SATELLITE:卫星图模式常量,setMapType(int)
4.常用方法
Overlay addOverlay(OverlayOptions options):向地图添加一个 Overlay
void clear():清空地图所有的 Overlay 覆盖物以及 InfoWindow
MyLocationData getLocationData():获取定位数据
void setMapType(int type):设置地图类型 MAP_TYPE_NORMAL 普通图; MAP_TYPE_SATELLITE 卫星图
void setMaxAndMinZoomLevel(float max, float min):设置地图最大以及最小缩放级别,地图支持的最大最小级别分别为[3-20]
void setOnMapClickListener(BaiduMap.OnMapClickListener listener):设置地图单击事件监听者
void setTrafficEnabled(boolean enabled):设置是否打开交通图层
void snapshot(BaiduMap.SnapshotReadyCallback callback):发起截图请求
三、基础地图开发方法
1.地图类型
百度地图Android SDK为您提供了两种类型的地图资源(普通矢量地图和卫星图),我们可以利用BaiduMap中的mapType()方法来设置地图类型。核心代码如下:
效果如下:
2.实时交通图
当前,全国范围内已支持多个城市实时路况查询,且会陆续开通其他城市。在地图上打开实时路况的核心代码如下:
3.百度城市热力图
效果如下:
四、源码实现
(1)MainActivity.java
(2)AndroidManifest.xml
(3)布局文件main.xml