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.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 |
clear()
清空地图所有的 Overlay 覆盖物以及 InfoWindow
|
Point |
getCompassPosition()
获取屏幕坐标系下指南针位置
|
MapBaseIndoorMapInfo |
getFocusedBaseIndoorMapInfo()
获取当前聚焦的室内图信息
|
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() |
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 |
hideSDKLayer()
隐藏SDK图层,从普通导航模式进入实景模式(步行AR导航)时调用
|
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 |
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 configeration)
设置定位图层配置信息,只有先允许定位图层后设置定位图层配置信息才会生效,参见 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 |
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 |
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
|
void |
showMapIndoorPoi(boolean isShow)
设置是否显示室内图标注, 默认显示
|
void |
showMapPoi(boolean isShow)
控制是否显示底图默认标注, 默认显示
|
void |
showSDKLayer()
显示SDK图层,从实景模式(步行AR导航)进入普通导航模式时调用
|
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)
切换室内图楼层set
|
public static final int MAP_TYPE_NORMAL
setMapType(int)
public static final int MAP_TYPE_SATELLITE
setMapType(int)
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
- t
- r
- b
- width
- height
- public final void animateMapStatus(MapStatusUpdate update)
update
- 地图状态将要发生的变化public final void setMapType(int type)
type
- 地图类型public final int getMapType()
public GLMapView getmGLMapView()
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 configeration)
configeration
- 定位图层配置信息public final void setMyLocationConfigeration(MyLocationConfiguration configeration)
setMyLocationConfiguration(com.baidu.mapapi.map.MyLocationConfiguration)
接口代替。public final MyLocationConfiguration getLocationConfiguration()
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 hideInfoWindow()
public void setPixelFormatTransparent(boolean bTransparent)
bTransparent
- 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 setOnSynchronizationListener(BaiduMap.OnSynchronizationListener listener)
public MapBaseIndoorMapInfo getFocusedBaseIndoorMapInfo()
public MapBaseIndoorMapInfo.SwitchFloorError switchBaseIndoorMapFloor(java.lang.String strFloor, java.lang.String strID)
strFloor
- [in] 室内图楼层,格式为F1,B1… strID [in] 室内图ID#(SwitchFloorError)
public boolean isBaseIndoorMapMode()
BaiduMap.OnBaseIndoorMapListener
的onBaseIndoorMapMode回调方法执行之后执行。
否则可能出现结果不准确的情况。public final void removeMarkerClickListener(BaiduMap.OnMarkerClickListener listener)
listener
- 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()