public class BaiduMap
extends java.lang.Object
限定符和类型 | 类和说明 |
---|---|
static interface |
BaiduMap.OnBaseIndoorMapListener
地图进入室内图模式回调函数
|
static interface |
BaiduMap.OnMapClickListener
地图单击事件监听接口
|
static interface |
BaiduMap.OnMapDoubleClickListener
地图双击事件监听接口
|
static interface |
BaiduMap.OnMapDrawFrameCallback
地图绘制回调接口
|
static interface |
BaiduMap.OnMapLoadedCallback
地图加载完成回调接口
|
static interface |
BaiduMap.OnMapLongClickListener
地图长按事件监听接口
|
static interface |
BaiduMap.OnMapRenderCallback
地图渲染完成回调接口
|
static interface |
BaiduMap.OnMapRenderValidDataListener
地图绘制出有效数据的监听。
|
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.OnSynchronizationListener
司乘同显回调接口
V4.5.2之后版本新增接口
|
static interface |
BaiduMap.SnapshotReadyCallback
地图截屏回调接口
|
限定符和类型 | 字段和说明 |
---|---|
static int |
MAP_TYPE_NONE
空白背景模式常量,
setMapType(int) |
static int |
MAP_TYPE_NORMAL
普通地图模式常量,
setMapType(int) 。 |
static int |
MAP_TYPE_SATELLITE
卫星图模式常量,
setMapType(int) 。 |
static int |
mapStatusReason
地图状态改变原因标志位
|
限定符和类型 | 方法和说明 |
---|---|
void |
addHeatMap(HeatMap heatmap)
添加自定义热力图
|
Overlay |
addOverlay(OverlayOptions options)
向地图添加一个 Overlay
|
java.util.List<Overlay> |
addOverlays(java.util.List<OverlayOptions> options)
向地图添加多个 Overlay
|
TileOverlay |
addTileLayer(TileOverlayOptions overlayOptions)
向地图添加一个TileOverlay覆盖物
|
void |
animateMapStatus(MapStatusUpdate update)
以动画方式更新地图状态,默认动画耗时 300 ms
|
void |
animateMapStatus(MapStatusUpdate update,
int durationMs)
以动画方式更新地图状态
|
void |
changeLocationLayerOrder(boolean enable)
调整定位图层相对于Overlay图层的顺序
enable = true : 定位图层在Overlay图层之下; enable = false : 定位图层在Overlay图层之上;
默认false,即定位图层在Overlay图层之上
|
void |
cleanCache(int mapType)
清除地图缓存数据,支持清除普通地图和卫星图缓存
V6.0.0新增接口
MAP_TYPE_NORMAL 普通图;
MAP_TYPE_SATELLITE 卫星图; |
void |
clear()
清空地图所有的 Overlay 覆盖物以及 InfoWindow
|
java.util.List<InfoWindow> |
getAllInfoWindows()
5.4.0版本新增接口
获取已添加的所有InfoWindow对象
|
Point |
getCompassPosition()
获取屏幕坐标系下指南针位置
|
MapBaseIndoorMapInfo |
getFocusedBaseIndoorMapInfo()
获取当前聚焦的室内图信息
|
GLMapView |
getGLMapView()
获取GLMapView对象
|
MyLocationConfiguration |
getLocationConfigeration()
已过时。
该接口已经被废弃,请用
getLocationConfiguration() 接口代替。 |
MyLocationConfiguration |
getLocationConfiguration()
获取定位图层配置信息
|
MyLocationData |
getLocationData()
获取定位数据
|
MapStatus |
getMapStatus()
获取地图的当前状态
|
LatLngBounds |
getMapStatusLimit()
获取当前地图可移动的实际地理范围
|
int |
getMapType()
获取地图当前的模式,空白地图、普通地图或者卫星图
|
java.util.List<Marker> |
getMarkersInBounds(LatLngBounds bounds)
获取指定区域内所有的Marker点
|
float |
getMaxZoomLevel()
获取地图最大缩放级别
|
GLMapView |
getmGLMapView()
已过时。
该接口已经被废弃,调用
getGLMapView() 代替 |
float |
getMinZoomLevel()
获取地图最小缩放级别
|
Projection |
getProjection()
获取地图投影坐标转换器, 当地图初始化完成之前返回 null,在 OnMapLoadedCallback.onMapLoaded() 之后才能正常
|
float[] |
getProjectionMatrix()
获取OpenGL投影矩阵数组结果,适用于3D绘制场景,V5.3.0版本新增
|
UiSettings |
getUiSettings()
获取地图ui控制器
|
float[] |
getViewMatrix()
获取OpenGL视图矩阵数组结果,适用于3D绘制场景,V5.3.0版本新增
|
float |
getZoomToBound(int l,
int t,
int r,
int b,
int width,
int height)
根据Bound和指定宽高获取对应的缩放级别
|
void |
hideInfoWindow()
隐藏地图上的所有InfoWindow
|
void |
hideInfoWindow(InfoWindow infoWindow)
5.4.0版本新增接口
清除特定的InfoWindow
|
void |
hideSDKLayer() |
boolean |
isBaiduHeatMapEnabled()
获取是否打开百度热力图层(百度自有数据图层)
|
boolean |
isBaseIndoorMapMode()
是否进入室内图
该方法建议在
BaiduMap.OnBaseIndoorMapListener 的onBaseIndoorMapMode回调方法执行之后执行。 |
boolean |
isBuildingsEnabled()
获取是否允许楼块效果
|
boolean |
isMyLocationEnabled()
获取是否允许定位图层
|
boolean |
isSupportBaiduHeatMap()
查询当前图区是否支持百度热力图
|
boolean |
isTrafficEnabled()
获取是否打开交通图层
|
void |
removeMarkerClickListener(BaiduMap.OnMarkerClickListener listener)
移除一个地图 Marker 覆盖物点击事件监听者
|
void |
setBaiduHeatMapEnabled(boolean enabled)
设置是否打开百度热力图图层(百度自有数据图层) 注:地图层级大于11时,可显示热力图
|
void |
setBuildingsEnabled(boolean enabled)
设置是否允许楼块效果
|
void |
setCompassEnable(boolean enable)
设置指南针是否显示
|
void |
setCompassIcon(Bitmap icon)
设置指南针自定义图标
|
void |
setCompassPosition(Point p)
设置指南针的位置
|
boolean |
setCustomTrafficColor(java.lang.String severeCongestion,
java.lang.String congestion,
java.lang.String slow,
java.lang.String smooth)
设置自定义路况颜色 16进制值,格式须为:#AARRGGBB A:Alpha、R:Red、G:Green、B:Blue
|
void |
setIndoorEnable(boolean enabled)
设置是否显示室内图, 默认室内图不显示
室内图只有在缩放级别[17, 22]范围才生效,但是在18级之上(包含18级)才会有楼层边条显示。
|
void |
setLayerClickable(MapLayer mapLayer,
boolean isClickable)
V6.0.0版本新增接口
设置指定的图层是否可以点击.
|
void |
setMapStatus(MapStatusUpdate update)
改变地图状态
|
void |
setMapStatusLimits(LatLngBounds bounds)
设置地图的可移动区域
V4.5.0版本起,该方法不与
BaiduMap.OnMapLoadedCallback.onMapLoaded() 关联,实际上该方法与
setMapStatus(MapStatusUpdate) 并列同级
该方法执行完成之后,不可再调用setMapStatus(MapStatusUpdate) ,否则可能会更改
MapStatus ,造成可移动区域设置不生效,setMapStatus(MapStatusUpdate)
方法可以放在该方法之前执行。 |
void |
setMapType(int type)
|
void |
setMaxAndMinZoomLevel(float max,
float min)
设置地图最大以及最小缩放级别,地图支持的最大最小级别分别为[4-21]
V5.0.0版本起,为了优化显示效果,地图支持最小缩放级别为4,即1000公里
该方法如果不是在初始化方法(如onCreate方法)中使用,则需要在该方法执行完成后,调用
setMapStatus(MapStatusUpdate) 或者animateMapStatus(MapStatusUpdate) 方法
否则出现不生效的情况。 |
void |
setMyLocationConfigeration(MyLocationConfiguration configeration)
已过时。
|
void |
setMyLocationConfiguration(MyLocationConfiguration configuration)
设置定位图层配置信息,只有先允许定位图层后设置定位图层配置信息才会生效,参见 setMyLocationEnabled(boolean)
|
void |
setMyLocationData(MyLocationData data)
设置定位数据, 只有先允许定位图层后设置数据才会生效,参见 setMyLocationEnabled(boolean)
|
void |
setMyLocationEnabled(boolean enabled)
设置是否允许定位图层
|
void |
setOnBaseIndoorMapListener(BaiduMap.OnBaseIndoorMapListener listener)
设置室内图模式监听者
|
void |
setOnMapClickListener(BaiduMap.OnMapClickListener listener)
设置地图单击事件监听者
|
void |
setOnMapDoubleClickListener(BaiduMap.OnMapDoubleClickListener listener)
设置地图双击事件监听者
|
void |
setOnMapDrawFrameCallback(BaiduMap.OnMapDrawFrameCallback callback)
设置百度地图在每一帧绘制时的回调接口,该接口在绘制线程中调用
|
void |
setOnMapLoadedCallback(BaiduMap.OnMapLoadedCallback callback)
设置地图加载完成回调,该接口需要在地图加载到页面之前调用,否则不会触发回调。
|
void |
setOnMapLongClickListener(BaiduMap.OnMapLongClickListener listener)
设置地图长按事件监听者
|
void |
setOnMapRenderCallbadk(BaiduMap.OnMapRenderCallback callback)
设置地图渲染完成回调
|
void |
setOnMapRenderValidDataListener(BaiduMap.OnMapRenderValidDataListener listener)
设置地图数据渲染是否有效监听者
V5.4.2新增接口
|
void |
setOnMapStatusChangeListener(BaiduMap.OnMapStatusChangeListener listener)
设置地图状态监听者
|
void |
setOnMapTouchListener(BaiduMap.OnMapTouchListener listener)
设置触摸地图事件监听者
|
void |
setOnMarkerClickListener(BaiduMap.OnMarkerClickListener listener)
设置地图 Marker 覆盖物点击事件监听者,自3.4.0版本起可设置多个监听对象,停止监听时调用removeMarkerClickListener移除监听对象
|
void |
setOnMarkerDragListener(BaiduMap.OnMarkerDragListener listener)
设置 Marker 拖拽事件监听者
|
void |
setOnMyLocationClickListener(BaiduMap.OnMyLocationClickListener listener)
设置定位图标点击事件监听者
|
void |
setOnPolylineClickListener(BaiduMap.OnPolylineClickListener listener)
设置地图 Polyline 覆盖物点击事件监听者
|
void |
setOnSynchronizationListener(BaiduMap.OnSynchronizationListener listener)
设置司乘同显监听地图状态改变原因接口
|
void |
setOverlayUnderPoi(boolean isUnderPoi)
设置覆盖物图层相对于Poi图层的图层顺序
默认覆盖物图层在Poi图层之上
通过调用该接口,设置设置覆盖物图层在Poi图层之下,可以解决覆盖物遮盖Poi名称的问题,比如Polyline遮挡路线名称
V5.4.0版本新增接口
|
void |
setPadding(int left,
int top,
int right,
int bottom)
已过时。
|
void |
setPixelFormatTransparent(boolean bTransparent)
设置地图背景透明
|
void |
setTrafficEnabled(boolean enabled)
设置是否打开交通图层
|
void |
setViewPadding(int left,
int top,
int right,
int bottom)
设置地图上控件与地图边界的距离,包含比例尺、缩放控件、logo、指南针的位置
只有在 OnMapLoadedCallback.onMapLoaded() 之后设置才生效
|
void |
showInfoWindow(InfoWindow infoWindow)
显示 InfoWindow, 该接口会先隐藏其他已添加的InfoWindow, 再添加新的InfoWindow
|
void |
showInfoWindow(InfoWindow infoWindow,
boolean isHideOthers)
5.4.0版本新增接口
显示 InfoWindow, 该接口可以设置是否在添加InfoWindow之前,先隐藏其他已经添加的InfoWindow.
|
void |
showInfoWindows(java.util.List<InfoWindow> infoWindowList)
5.4.0版本新增接口
添加多个InfoWindow
|
void |
showMapIndoorPoi(boolean isShow)
设置是否显示室内图标注, 默认显示
|
void |
showMapPoi(boolean isShow)
控制是否显示底图默认标注, 默认显示
|
void |
showSDKLayer() |
void |
snapshot(BaiduMap.SnapshotReadyCallback callback)
发起截图请求
|
void |
snapshotScope(Rect rect,
BaiduMap.SnapshotReadyCallback callback)
发起区域截图请求 注: Rect为null,截全屏
|
MapBaseIndoorMapInfo.SwitchFloorError |
switchBaseIndoorMapFloor(java.lang.String strFloor,
java.lang.String strID)
切换室内图楼层
|
void |
switchLayerOrder(MapLayer srcLayer,
MapLayer destLayer)
切换指定图层的顺序
V6.0.0版本新增接口
|
public static final int MAP_TYPE_NORMAL
setMapType(int)
。支持缩放级别为[4, 21]public static final int MAP_TYPE_SATELLITE
setMapType(int)
。支持缩放级别为[4, 20]public static final int MAP_TYPE_NONE
setMapType(int)
public static int mapStatusReason
public final Overlay addOverlay(OverlayOptions options)
options
- 将要添加的 overlay 选项public final java.util.List<Overlay> addOverlays(java.util.List<OverlayOptions> options)
options
- 将要添加的 overlay 选项列表public java.util.List<Marker> getMarkersInBounds(LatLngBounds bounds)
public final void clear()
public final void setMapStatus(MapStatusUpdate update)
update
- 地图状态将要发生的变化public final MapStatus getMapStatus()
public final LatLngBounds getMapStatusLimit()
public final void setMapStatusLimits(LatLngBounds bounds)
BaiduMap.OnMapLoadedCallback.onMapLoaded()
关联,实际上该方法与
setMapStatus(MapStatusUpdate)
并列同级
该方法执行完成之后,不可再调用setMapStatus(MapStatusUpdate)
,否则可能会更改
MapStatus
,造成可移动区域设置不生效,setMapStatus(MapStatusUpdate)
方法可以放在该方法之前执行。
该方法与animateMapStatus(MapStatusUpdate)
的配合使用与
setMapStatus(MapStatusUpdate)
一致。bounds
- 东北,西南坐标构建的矩形可移动区域public final void animateMapStatus(MapStatusUpdate update, int durationMs)
update
- 地图状态将要发生的变化durationMs
- 动画时间public float getZoomToBound(int l, int t, int r, int b, int width, int height)
l
- 左上坐标点对应的墨卡托坐标的xt
- 左上坐标点对应的墨卡托坐标的yr
- 右下坐标点对应的墨卡托坐标的xb
- 右下坐标点对应的墨卡托坐标的ywidth
- 期望展示的视野宽度(像素单位)height
- 期望展示的视野高度(像素单位)public final void animateMapStatus(MapStatusUpdate update)
update
- 地图状态将要发生的变化public final void setMapType(int type)
type
- 地图类型public final int getMapType()
@Deprecated public GLMapView getmGLMapView()
getGLMapView()
代替public GLMapView getGLMapView()
public final float getMaxZoomLevel()
public final void setMaxAndMinZoomLevel(float max, float min)
setMapStatus(MapStatusUpdate)
或者animateMapStatus(MapStatusUpdate)
方法
否则出现不生效的情况。max
- [4-21] 且 max > min, 否则无效min
- [4-21] 且 max > min, 否则无效public final float getMinZoomLevel()
public final Projection getProjection()
public final UiSettings getUiSettings()
public final void setBuildingsEnabled(boolean enabled)
enabled
- 是否允许楼块效果public final boolean isBuildingsEnabled()
public final void setMyLocationEnabled(boolean enabled)
enabled
- 是否允许定位图层public final boolean isMyLocationEnabled()
public final void setMyLocationData(MyLocationData data)
data
- 定位数据public final MyLocationData getLocationData()
public final void setMyLocationConfiguration(MyLocationConfiguration configuration)
configuration
- 定位图层配置信息@Deprecated public final void setMyLocationConfigeration(MyLocationConfiguration configeration)
public final MyLocationConfiguration getLocationConfiguration()
@Deprecated public final MyLocationConfiguration getLocationConfigeration()
getLocationConfiguration()
接口代替。public void addHeatMap(HeatMap heatmap)
heatmap
- 自定义热力图public final void setBaiduHeatMapEnabled(boolean enabled)
enabled
- 是否打开百度热力图图层(百度自有数据图层)public final void setIndoorEnable(boolean enabled)
enabled
- 室内图开关public void setCompassPosition(Point p)
p
- 指南针的位置public void setCompassIcon(Bitmap icon)
icon
- 自定义的指南针图标public final Point getCompassPosition()
public final boolean isBaiduHeatMapEnabled()
public final boolean isSupportBaiduHeatMap()
public final void setTrafficEnabled(boolean enabled)
enabled
- 是否打开交通图层public boolean setCustomTrafficColor(java.lang.String severeCongestion, java.lang.String congestion, java.lang.String slow, java.lang.String smooth)
severeCongestion
- 严重拥堵congestion
- 拥堵slow
- 缓慢smooth
- 畅通
若有参数为null或空字符串时,路况为默认样式.public final boolean isTrafficEnabled()
public final void showMapPoi(boolean isShow)
isShow
- true为显示,false为关闭public final void showMapIndoorPoi(boolean isShow)
isShow
- true为显示,false为关闭@Deprecated public final void setPadding(int left, int top, int right, int bottom)
setViewPadding(int left, int top, int right, int bottom)
insteadpublic final void setViewPadding(int left, int top, int right, int bottom)
left
- 左边距, 单位为pixeltop
- 上边距, 单位为pixelright
- 右边距, 单位为pixelbottom
- 下边距, 单位为pixelpublic final void snapshot(BaiduMap.SnapshotReadyCallback callback)
callback
- 截图完成后的回调public final void snapshotScope(Rect rect, BaiduMap.SnapshotReadyCallback callback)
rect
- 截图的矩形范围,由于android未对Rect
做检验,
所以开发者要确保Rect
的left <= right and top <= bottom,否则截屏失败。callback
- 截图完成后的回调public void showInfoWindow(InfoWindow infoWindow)
infoWindow
- 要显示的 InfoWindow 对象public void showInfoWindow(InfoWindow infoWindow, boolean isHideOthers)
infoWindow
- 要显示的 InfoWindow 对象isHideOthers
- 是否隐藏其他已经添加的 InfoWindow 对象, true--隐藏;false--不隐藏public void showInfoWindows(java.util.List<InfoWindow> infoWindowList)
infoWindowList
- infoWindow队列public java.util.List<InfoWindow> getAllInfoWindows()
public void hideInfoWindow()
public void hideInfoWindow(InfoWindow infoWindow)
infoWindow
- 要删除的infoWindowpublic void setPixelFormatTransparent(boolean bTransparent)
bTransparent
- 地图背景是否透明的标识,true -> 透明;false -> 不透明public final void setOnMapStatusChangeListener(BaiduMap.OnMapStatusChangeListener listener)
listener
- 地图状态监听者public final void setOnMapTouchListener(BaiduMap.OnMapTouchListener listener)
listener
- 地图触摸事件监听者public final void setOnMapClickListener(BaiduMap.OnMapClickListener listener)
listener
- 地图单击事件监听者public void setOnMapLoadedCallback(BaiduMap.OnMapLoadedCallback callback)
callback
- 地图加载完成回调public void setOnMapRenderCallbadk(BaiduMap.OnMapRenderCallback callback)
callback
- public final void setOnMapDoubleClickListener(BaiduMap.OnMapDoubleClickListener listener)
listener
- 地图双击事件监听者public final void setOnMapLongClickListener(BaiduMap.OnMapLongClickListener listener)
listener
- 地图长按事件监听者public final void setOnPolylineClickListener(BaiduMap.OnPolylineClickListener listener)
listener
- Polyline 覆盖物点击事件监听者public final void setOnMarkerClickListener(BaiduMap.OnMarkerClickListener listener)
listener
- Marker 覆盖物点击事件监听者public final void setOnMarkerDragListener(BaiduMap.OnMarkerDragListener listener)
listener
- Marker 拖拽事件监听者public final void setOnMyLocationClickListener(BaiduMap.OnMyLocationClickListener listener)
listener
- 定位图标点击事件监听者public final void setOnMapDrawFrameCallback(BaiduMap.OnMapDrawFrameCallback callback)
callback
- 百度地图在每一帧绘制时的回调接口public final void setOnBaseIndoorMapListener(BaiduMap.OnBaseIndoorMapListener listener)
listener
- 室内图模式监听者public final void setOnMapRenderValidDataListener(BaiduMap.OnMapRenderValidDataListener listener)
listener
- 地图数据渲染是否有效监听者public final void setOnSynchronizationListener(BaiduMap.OnSynchronizationListener listener)
public MapBaseIndoorMapInfo getFocusedBaseIndoorMapInfo()
public MapBaseIndoorMapInfo.SwitchFloorError switchBaseIndoorMapFloor(java.lang.String strFloor, java.lang.String strID)
strFloor
- 室内图楼层,格式为F1,B1…strID
- 室内图ID#(SwitchFloorError)
public boolean isBaseIndoorMapMode()
BaiduMap.OnBaseIndoorMapListener
的onBaseIndoorMapMode回调方法执行之后执行。
否则可能出现结果不准确的情况。public final void removeMarkerClickListener(BaiduMap.OnMarkerClickListener listener)
listener
- Marker 覆盖物点击事件监听者public TileOverlay addTileLayer(TileOverlayOptions overlayOptions)
overlayOptions
- 将要被添加的TileOverlay属性,它定义了要添加TileOverlay的属性public void hideSDKLayer()
public void showSDKLayer()
public void changeLocationLayerOrder(boolean enable)
public void setCompassEnable(boolean enable)
public float[] getProjectionMatrix()
public float[] getViewMatrix()
public void setOverlayUnderPoi(boolean isUnderPoi)
isUnderPoi
- true——覆盖物图层位于Poi图层之下;false——覆盖物图层位于Poi图层之上,默认值为falsepublic void switchLayerOrder(MapLayer srcLayer, MapLayer destLayer)
srcLayer
- 源图层destLayer
- 目标图层public void setLayerClickable(MapLayer mapLayer, boolean isClickable)
MapLayer.MAP_LAYER_LOCATION
设置不可点击mapLayer
- 指定的图层isClickable
- 是否可以点击public void cleanCache(int mapType)
MAP_TYPE_NORMAL
普通图;
MAP_TYPE_SATELLITE
卫星图;mapType
- 地图类型