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(HeatMapheatmap)
添加热力图
Overlay
addOverlay(OverlayOptionsoptions)
向地图添加一个 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.OnMarkerClickListenerlistener)
移除一个地图
Marker覆盖物点击事件监听者
void
setBaiduHeatMapEnabled(booleanenabled)
设置是否打开百度热力图图层(百度自有数据图层)注:地图层级大于11时,可显示热力图
void
setBuildingsEnabled(booleanenabled)
设置是否允许楼块效果
void
setMapStatus(MapStatusUpdateupdate)
改变地图状态
void setMapType(inttype)
设置地图类型
MAP_TYPE_NORMAL普通图;
MAP_TYPE_SATELLITE卫星图
void
setOnMapDoubleClickListener(BaiduMap.OnMapDoubleClickListenerlistener)
设置地图双击事件监听者
void
setOnMapDrawFrameCallback(BaiduMap.OnMapDrawFrameCallbackcallback)
设置百度地图在每一帧绘制时的回调接口,该接口在绘制线程中调用
底下几个是最常用方法:
void
setOnMarkerClickListener(BaiduMap.OnMarkerClickListenerlistener)
设置地图
Marker覆盖物点击事件监听者,自3.4.0版本起可设置多个监听对象,停止监听时调用
removeMarkerClickListener移除监听对象
void
setOnMarkerDragListener(BaiduMap.OnMarkerDragListenerlistener)
设置
Marker拖拽事件监听者
void
showInfoWindow(InfoWindowinfoWindow)
显示 InfoWindow
void
snapshot(BaiduMap.SnapshotReadyCallbackcallback)
发起截图请求
3.类 PoiOverlay
所有已实现的接口:
BaiduMap.OnMarkerClickListener,
BaiduMap.OnPolylineClickListener
也就是PoiOverlay这个类和其自乐具有OnMarkerClickListener和OnPolylineClickListener接口的功能。
在需要上述两个接口的地方可以直接创建PoiOverlay对象代替接口。
PoiOverlay具有的特点:
PoiOverlay类实现了OnMarkerClickListener接口,所以能够充当该接口的对象去使用,同时,这个类能够访问到
图层上的数据,可以对图层进行操作。结合上述两点,例如我们在要给一个标记层添加监听并且要访问
标记的数据时,我们就可时使用这个PoiOverlay类。直接使用OnMarkerClickListener在一些情况下不能操作
标记的数据数据是空的。而PoiOverlay中我们在创建图层是添加了所有我们查询的数据结果。根据这个类的方法,我们可以获得PoiResilt对象,这个对象包含了我们查询的结果条数,每一个查询结果的封装。通过这个类我们就可以随便访问我们需要的信息了。有获得并操作标记的数据的方法。
常用方法
java.util.List
getOverlayOptions()
覆写此方法设置要管理的Overlay列表
PoiResult getPoiResult()
获取该
PoiOverlay的
poi数据
boolean
onMarkerClick(Markermarker)
地图
Marker覆盖物点击事件监听函数,开发者注意根据参数Marker来判断响应某个对象的点击事件
boolean
onPoiClick(inti)
覆写此方法以改变默认点击行为
void
setData(PoiResultpoiResult)
设置POI数据
4.类 PoiSearch
POI检索接口
java.lang.Object
com.baidu.mapapi.search.poi.PoiSearch
所有方法
void destroy()
释放检索对象
static
PoiSearch
newInstance()
创建PoiSearch实例
boolean
searchInBound(PoiBoundSearchOptionoption)
范围内检索
boolean
searchInCity(PoiCitySearchOptionoption)
城市内检索
boolean
searchNearby(PoiNearbySearchOptionoption)
周边检索
boolean
searchPoiDetail(PoiDetailSearchOptionoption)
POI详情检索
设置监听方法:
void
setOnGetPoiSearchResultListener(OnGetPoiSearchResultListenerlistener)
设置poi检索【监听者】
接口
OnGetPoiSearchResultListener有两个方法:
void
onGetPoiDetailResult(PoiDetailResultresult)
poi详情查询结果回调
void
onGetPoiResult(PoiResultresult)
poi查询结果回调
5.类 PoiResult
poi搜索结果。
方法
限定符和类型方法和说明
java.util.List
getAllPoi()
获取Poi检索结果
int
getCurrentPageCapacity()
获取单页容量,单页容量可以通过检索参数指定
int
getCurrentPageNum()
获取当前分页编号
java.util.List
getSuggestCityList()
返回城市列表页的结果数
int
getTotalPageNum()
获取总分页数
int
getTotalPoiNum()
获取POI总数
6.类 PoiInfo
java.lang.Object
com.baidu.mapapi.search.core.PoiInfo
是一个对地图的查询结果进行封装的类。类中包含了一个我们感兴趣的地点的几乎所有信息。
如:
地址,所在城市,是否有美食类详情(地图中的参数),是否有街景,电话,邮编等。通过这些信息
我们就可以准确的查询一个地点,或者我们需要的信息了。
类的信息字段如下:
限定符和类型字段和说明
java.lang.String
address
poi地址信息
java.lang.String
city
poi所在城市
boolean
hasCaterDetails
poi点是否有美食类详情页面
boolean
isPano
poi点附近是否有街景,可使用uid检索全景组件的全景数据
LatLng
location
poi坐标,当ePoiType为2或4时,pt为空
java.lang.String
name
poi名称
java.lang.String
phoneNum
poi电话信息
java.lang.String
postCode
poi邮编
PoiInfo.POITYPE
type
poi类型,0:普通点,1:公交站,2:公交线路,3:地铁站,4:地铁线路,
java.lang.String
uid
poi
id如果为isPano为true,可用此参数
调用街景组件PanoramaService类的requestPanoramaWithPoiUId方法检索街景数据
7.类
PoiCitySearchOption poi城市内检索参数
所有方法
PoiCitySearchOption
city(java.lang.String city)
检索城市
PoiCitySearchOption
keyword(java.lang.String key)
搜索关键字
PoiCitySearchOption
pageCapacity(int pageCapacity)
设置每页容量,默认为每页10条
PoiCitySearchOption
pageNum(int pageNum)
分页编号
8.类
PoiNearbySearchOption附近检索参数
java.lang.Object
com.baidu.mapapi.search.poi.PoiNearbySearchOption
所有方法
限定符和类型方法和说明
PoiNearbySearchOption
keyword(java.lang.String key)
检索关键字
PoiNearbySearchOption location(LatLng
location)
检索位置
PoiNearbySearchOption pageCapacity(int
pageCapacity)
设置每页容量,默认为每页10条
PoiNearbySearchOption pageNum(int
pageNum)
分页编号
PoiNearbySearchOption radius(int
radius)
设置检索的半径范围
PoiNearbySearchOption
sortType(PoiSortType sortType)
搜索结果排序规则,可选,默认
9.类
PoiDetailSearchOption
poi详情检索参数
java.lang.Object
com.baidu.mapapi.search.poi.PoiDetailSearchOption
唯一的方法
PoiDetailSearchOption
poiUid(java.lang.String poiUid)
欲检索的poi的uid
10.类
LatLng地理坐标基本数据结构
java.lang.Object
com.baidu.mapapi.model.LatLng
构造器和说明
LatLng(double latitude, double longitude)
字段
latitude
public final double latitude
纬度
longitude
public final double longitude
经度
11.枚举 PoiSortType
java.lang.Object
java.lang.Enum
com.baidu.mapapi.search.poi.PoiSortType
枚举常量和说明
comprehensive
distance_from_near_to_far
12.类
UiSettings百度地图
UI控制器
java.lang.Object
com.baidu.mapapi.map.UiSettings
几个方法
boolean
isCompassEnabled()
获取是否允许指南针
void
setCompassEnabled(booleanenabled)
设置是否允许指南针
该类是匹配的方法用来操作地图的辩护,如上述,还有地图缩放,是否允许手势多动等的方法。
13.类
MapStatus定义地图状态
static class
MapStatus.Builder
地图状态构造器
限定符和类型字段和说明
LatLngBounds bound
当前屏幕显示范围内的地理范围,当旋转或俯视时,是当前屏幕可见显示范围的最大外接矩形.
float overlook
地图俯仰角度。
float rotate
地图旋转角度。
LatLng
target
地图操作的中心点。
Point
targetScreen
地图操作中心点在屏幕中的坐标
float zoom
地图缩放级别 3~20
14.类
Marker定义地图
Marker覆盖物
方法
LatLng
getPosition()
获取
Marker覆盖物的位置坐标
float getRotate()
获取
Marker覆盖物旋转角度
java.lang.String
getTitle()
获取
Marker覆盖物的标题
boolean
isDraggable()
获取
marker覆盖物是否可以拖拽
void
setDraggable(booleandraggable)
设置
marker是否允许拖拽,默认不可拖拽
void
setIcons(java.util.ArrayListicons)
设置
Marker覆盖物的图标,相同图案的
icon的
marker最好使用同一个
BitmapDescriptor对象以节省内存空间。
说明:该类还有若干设置覆盖物属性的方法
16.类
BitmapDescriptor
bitmap描述信息
BitmapDescriptor只有一个方法用类回收bitmap资源,请确保在不再使用该
bitmap
descriptor时再调用该函数。
类BitmapDescriptorFactory
java.lang.Object
com.baidu.mapapi.map.BitmapDescriptor
17.类
BitmapDescriptorFactory
public class BitmapDescriptorFactory
extends java.lang.Object
bitmap描述信息工厂类,在使用该类方法之前请确保已经调用了
SDKInitializer.initialize(Context)函数以提供全局
Context信息。
说明:方法的特殊性,方法基本返回的都是BitmapDescriptor类的对象。这个类就是用来创建BitmapDescriptor对象的。
可以格局资源文件,文件路径,bitmap图片等一系列凡是构造BitmapDescriptor对象。
方法
限定符和类型方法和说明
static BitmapDescriptor fromAsset(java.lang.String
assetName)
根据资源名称创建bitmap描述信息
static BitmapDescriptor fromAssetWithDpi(java.lang.String
assetName)
根据资源名称和dpi创建bitmap描述信息,根据不同设备的dpi,对asset下图片等比例放.
static BitmapDescriptor fromBitmap(Bitmap
image)
根据
Bitmap创建描述信息
static BitmapDescriptor fromFile(java.lang.String
fileName)
根据应用程序私有文件夹里包含文件的文件名创建
bitmap描述信息
static BitmapDescriptor fromPath(java.lang.String
absolutePath)
根据文件绝对路径创建
bitmap描述信息
static BitmapDescriptor fromResource(int
resourceId)
根据资源
Id创建
bitmap描述信息
static BitmapDescriptor fromView(View view)
根据一个
View创建
Bitmap描述信息,当
view为
null时返回
null