百度地图开发者常用类学习
1.MapView
public final class MapView
extends ViewGroup
一个显示地图的视图(View)。它负责从服务端获取地图数据。它将会捕捉屏幕触控手势事件。 使用这个类必须按照它的生命周期进行操控,你必须参照以下方法onCreate(Bundle)、 onResume()、onPause()、onDestroy()。等声明周期函数。在使用地图组件之前请确保已经调用了 SDKInitializer.initialize(Context) 函数以提供全局 Context 信息。
用到的方法
getMap();获取地图控制器
2.BaiduMap
方法与接口
定义 BaiduMap 地图对象的操作方法与接口
static interface        BaiduMap.OnMapClickListener
地图单击事件监听接口
static interface    BaiduMap.OnMapDoubleClickListener
地图双击事件监听接口
static interface    BaiduMap.OnMapDrawFrameCallback
地图绘制回调接口
static interface    BaiduMap.OnMapLoadedCallback
地图加载完成回调接口
static interface    BaiduMap.OnMapLongClickListener
地图长按事件监听接口
static interface    BaiduMap.OnMapStatusChangeListener
地图状态改变相关接口
static interface    BaiduMap.OnMapTouchListener
用户触摸地图时回调接口
static interface    BaiduMap.OnMarkerClickListener
地图 Marker 覆盖物点击事件监听接口
static interface    BaiduMap.OnMarkerDragListener
地图 Marker 覆盖物拖拽事件监听接口
static interface    BaiduMap.OnMyLocationClickListener
地图定位图标点击事件监听接口
static interface    BaiduMap.OnPolylineClickListener
地图polyline覆盖物点击事件监听接口
static interface    BaiduMap.SnapshotReadyCallback
地图截屏回调接口
地图类型:
static int    MAP_TYPE_NORMAL
普通地图模式常量, setMapType(int)
static int    MAP_TYPE_SATELLITE
卫星图模式常量,setMapType(int)
常用方法
void    addHeatMap(HeatMap heatmap)
添加热力图
Overlay    addOverlay(OverlayOptions options)
向地图添加一个 Overlay
void    clear()
清空地图所有的 Overlay 覆盖物以及 InfoWindow
MyLocationConfiguration    getLocationConfigeration()
获取定位图层配置信息
MyLocationData    getLocationData()
获取定位数据
MapStatus    getMapStatus()
获取地图的当前状态
int    getMapType()
获取地图当前的模式,普通地图或者卫星图
UiSettings    getUiSettings()
获取地图ui控制器
void    hideInfoWindow()
隐藏当前 InfoWindow
boolean    isBaiduHeatMapEnabled()
获取是否打开百度热力图层(百度自有数据图层)
boolean    isBuildingsEnabled()
获取是否允许楼块效果
boolean    isTrafficEnabled()
获取是否打开交通图层
void    removeMarkerClickListener(BaiduMap.OnMarkerClickListener listener)
移除一个地图 Marker 覆盖物点击事件监听者
void    setBaiduHeatMapEnabled(boolean enabled)
设置是否打开百度热力图图层(百度自有数据图层) 注:地图层级大于11时,可显示热力图
void    setBuildingsEnabled(boolean enabled)
设置是否允许楼块效果
void    setMapStatus(MapStatusUpdate update)
改变地图状态
void    setMapType(int type)
设置地图类型 MAP_TYPE_NORMAL 普通图; MAP_TYPE_SATELLITE 卫星图
void    setOnMapDoubleClickListener(BaiduMap.OnMapDoubleClickListener listener)
设置地图双击事件监听者
void    setOnMapDrawFrameCallback(BaiduMap.OnMapDrawFrameCallback callback)
设置百度地图在每一帧绘制时的回调接口,该接口在绘制线程中调用
底下几个是最常用方法:
void    setOnMarkerClickListener(BaiduMap.OnMarkerClickListener listener)
设置地图 Marker 覆盖物点击事件监听者,自3.4.0版本起可设置多个监听对象,停止监听时调用
removeMarkerClickListener移除监听对象
void    setOnMarkerDragListener(BaiduMap.OnMarkerDragListener listener)
设置 Marker 拖拽事件监听者
void    showInfoWindow(InfoWindow infoWindow)
显示 InfoWindow
void    snapshot(BaiduMap.SnapshotReadyCallback callback)
发起截图请求
3.类 PoiOverlay
所有已实现的接口:
BaiduMap.OnMarkerClickListener,
BaiduMap.OnPolylineClickListener
也就是PoiOverlay这个类和其自乐具有OnMarkerClickListener和OnPolylineClickListener接口的功能。
在需要上述两个接口的地方可以直接创建PoiOverlay对象代替接口。
PoiOverlay具有的特点:
PoiOverlay类实现了OnMarkerClickListener接口,所以能够充当该接口的对象去使用,同时,这个类能够访问到
图层上的数据,可以对图层进行操作。结合上述两点,例如我们在要给一个标记层添加监听并且要访问
标记的数据时,我们就可时使用这个PoiOverlay类。直接使用OnMarkerClickListener在一些情况下不能操作
标记的数据数据是空的。而PoiOverlay中我们在创建图层是添加了所有我们查询的数据结果。根据这个类的方法,我们可以获得PoiResilt对象,这个对象包含了我们查询的结果条数,每一个查询结果的封装。通过这个类我们就可以随便访问我们需要的信息了。有获得并操作标记的数据的方法。
常用方法
java.util.List<OverlayOptions>    getOverlayOptions()
覆写此方法设置要管理的Overlay列表
PoiResult  getPoiResult()
获取该 PoiOverlay 的 poi数据
boolean    onMarkerClick(Marker marker)
地图 Marker 覆盖物点击事件监听函数,开发者注意根据参数Marker来判断响应某个对象的点击事件
boolean    onPoiClick(int i)
覆写此方法以改变默认点击行为
void    setData(PoiResult poiResult)
设置POI数据
4.类 PoiSearch POI检索接口
java.lang.Object
com.baidu.mapapi.search.poi.PoiSearch
所有方法
void    destroy()
释放检索对象
static PoiSearch    newInstance()
创建PoiSearch实例
boolean    searchInBound(PoiBoundSearchOption option)
范围内检索
boolean    searchInCity(PoiCitySearchOption option)
城市内检索
boolean    searchNearby(PoiNearbySearchOption option)
周边检索
boolean    searchPoiDetail(PoiDetailSearchOption option)
POI 详情检索
设置监听方法:
void    setOnGetPoiSearchResultListener(OnGetPoiSearchResultListener listener)
设置poi检索【监听者】
接口 OnGetPoiSearchResultListener有两个方法:
void    onGetPoiDetailResult(PoiDetailResult result)
poi 详情查询结果回调
void    onGetPoiResult(PoiResult result)
poi 查询结果回调
5.类 PoiResult poi搜索结果。
3d卫星街景地图方法
限定符和类型    方法和说明
java.util.List<PoiInfo>    getAllPoi()
获取Poi检索结果