出自百度地图API

跳转到: 导航 , 搜索
核心类 基础类 控件类 覆盖物类 工具类 右键菜单类 地图类型类 地图图层类 服务类 全景类

Map PanOptions MapOptions Viewport ViewportOptions
APIVersion MapStylenew


此类是地图API的核心类,用来实例化一个地图。

目录

构造函数

构造函数描述
Map(container:String|HTMLElement[, opts:MapOptions]) 在指定的容器内创建地图实例,之后需要调用Map.centerAndZoom()方法对地图进行初始化。未进行初始化的地图将不能进行任何操作。

配置方法

方法返 回 值描述
enableDragging() none 启用地图拖拽,默认启用。
disableDragging() none 禁用地图拖拽。
enableScrollWheelZoom() none 启用滚轮放大缩小,默认禁用。
disableScrollWheelZoom() none 禁用滚轮放大缩小。
enableDoubleClickZoom() none 启用双击放大,默认启用。
disableDoubleClickZoom() none 禁用双击放大。
enableKeyboard() none 启用键盘操作,默认禁用。键盘的上、下、左、右键可连续移动地图。同时按下其中两个键可使地图进行对角移动。PgUp、PgDn、Home和End键会使地图平移其1/2的大小。+、-键会使地图放大或缩小一级。
disableKeyboard() none 禁用键盘操作。
enableInertialDragging() none 启用地图惯性拖拽,默认禁用。

(自 1.1 新增)

disableInertialDragging() none 禁用地图惯性拖拽。

(自 1.1 新增)

enableContinuousZoom() none 启用连续缩放效果,默认禁用。

(自 1.1 新增)

disableContinuousZoom() none 禁用连续缩放效果。

(自 1.1 新增)

enablePinchToZoom() none 启用双指操作缩放,默认启用。

(自 1.1 新增)

disablePinchToZoom() none 禁用双指操作缩放。

(自 1.1 新增)

enableAutoResize() none 启用自动适应容器尺寸变化,默认启用。

(自 1.2 新增)

disableAutoResize() none 禁用自动适应容器尺寸变化。

(自 1.2 新增)

setDefaultCursor(cursor:String) none 设置地图默认的鼠标指针样式。参数cursor应符合CSS的cursor属性规范。

(自 1.1 新增)

getDefaultCursor() String 返回地图默认的鼠标指针样式。

(自 1.1 新增)

setDraggingCursor(cursor:String) none 设置拖拽地图时的鼠标指针样式。参数cursor应符合CSS的cursor属性规范。

(自 1.1 新增)

getDraggingCursor() String 返回拖拽地图时的鼠标指针样式。

(自 1.1 新增)

setMinZoom(zoom:Number) none 设置地图允许的最小级别。取值不得小于地图类型所允许的最小级别。

(自 1.2 新增)

setMaxZoom(zoom:Number) none 设置地图允许的最大级别。取值不得大于地图类型所允许的最大级别。

(自 1.2 新增)

setMapStyle()new none设置地图样式,样式包括地图底图颜色和地图要素是否展示两部分。(自2.0新增)
setPanorama(pano:Panorama)new none将全景实例与Map类进行绑定。(自2.0新增)

地图状态方法

方法返回值描述
getBounds() Bounds 返回地图可视区域,以地理坐标表示。
getCenter() Point返回地图当前中心点。
getDistance(start:Point, end:Point) Number返回两点之间的距离,单位是米。(自 1.1 新增)
getMapType() MapTypes返回地图类型。(自 1.1 新增)
getSize() Size 返回地图视图的大小,以像素表示。
getViewport(view: Array<Point>[, viewportOptions: ViewportOptions]) Viewport 根据提供的地理区域或坐标获得最佳的地图视野,返回的对象中包含center和zoom属性,分别表示地图的中心点和级别。此方法仅返回视野信息,不会将新的中心点和级别做用到当前地图上。(自 1.1 新增)
getZoom() Number 返回地图当前缩放级别。
getPanorama()new Panorama获取与Map类绑定的全景实例。(自 2.0新增)

修改地图状态方法

方法返回值描述
centerAndZoom(center:Point, zoom:Number) none设初始化地图。

如果center类型为Point时,zoom必须赋值,范围3-19级,若调用高清底图(针对移动端开发)时,zoom可赋值范围为3-18级。如果center类型为字符串时,比如“北京”,zoom可以忽略,地图将自动根据center适配最佳zoom级别。

panTo(center:Point[, opts:PanOptions]) none 将地图的中心点更改为给定的点。如果该点在当前的地图视图中已经可见,则会以平滑动画的方式移动到中心点位置。可以通过配置强制移动过程不使用动画效果。
panBy(x:Number, y:Number[, opts: PanOptions]) none 将地图在水平位置上移动x像素,垂直位置上移动y像素。如果指定的像素大于可视区域范围或者在配置中指定没有动画效果,则不执行滑动效果。
reset() none 重新设置地图,恢复地图初始化时的中心点和级别。
setCenter(center:Point|String) none 设置地图中心点。center除了可以为坐标点以外,还支持城市名。
setCurrentCity(city:String) none 设置地图城市,注意当地图初始化时的类型设置为BMAP_PERSPECTIVE_MAP时,需要在调用centerAndZoom之前调用此方法设置地图所在城市。例如:

var map = new BMap.Map(“container”, {mapType: BMAP_PERSPECTIVE_MAP}); map.setCurrentCity(“北京市”); map.centerAndZoom(new BMap.Point(116.404, 39.915), 18); 注意:初始化的坐标应与您设置的城市对应,否则地图将无法正常显示。如果地图初始化为BMAP_NORMAL_MAP类型,则在调用setMapType切换地图类型时也要调用此方法。(自 1.1 新增)

setMapType(mapType:MapTypes) none 设置地图类型。注意,当设置地图类型为BMAP_PERSPECTIVE_MAP时,需要调用map.setCurrentCity方法设置城市。(自 1.1 新增)
setViewport(view:Array<Point>|Viewport[, viewportOptions: ViewportOptions]) none 根据提供的地理区域或坐标设置地图视野,调整后的视野会保证包含提供的地理区域或坐标。(自 1.1 新增)
zoomTo(zoom:Number) none (自1.2废弃)
setZoom(zoom:Number) none 将视图切换到指定的缩放等级,中心点坐标不变。注意:当有信息窗口在地图上打开时,地图缩放将保证信息窗口所在的坐标位置不动。(自1.2新增)
highResolutionEnabled() Boolean是否使用高分辨率底图。仅当mapOptions.enableHighResolution属性为true且设备支持高分辨率时返回true。
zoomIn() none 放大一级视图。
zoomOut() none 缩小一级视图。
addHotspot(hotspot:Hotspot) none 为地图添加热区。(自 1.2 新增)
removeHotspot(hotspot:Hotspot) none 移除某个地图热区。(自 1.2 新增)
clearHotspots() none 清空地图所有热区。(自 1.2 新增)

控件方法

方法返回值描述
addControl(control:Control) none 将控件添加到地图,一个控件实例只能向地图中添加一次。
removeControl(control:Control) none从地图中移除控件。如果控件从未被添加到地图中,则该移除不起任何作用。
getContainer() HTMLElement 返回地图的容器元素。当创建用户自定义控件时,需要自行实现Control.initialize()方法,并将控件的容器元素添加到地图上,通过此方法可获得地图容器。

右键菜单方法

方法返回值描述
addContextMenu(menu:ContextMenu) none 添加右键菜单。
removeContextMenu(menu:ContextMenu) none 移除右键菜单。

覆盖物方法

方法返回值描述
addOverlay(overlay:Overlay) none 将覆盖物添加到地图中,一个覆盖物实例只能向地图中添加一次。
removeOverlay(overlay:Overlay) none 从地图中移除覆盖物。如果覆盖物从未被添加到地图中,则该移除不起任何作用。
clearOverlays() none 清除地图上所有覆盖物。
openInfoWindow(infoWnd:InfoWindow, point:Point) none 在地图上打开信息窗口。
closeInfoWindow() none 关闭在地图上打开的信息窗口。在标注上打开的信息窗口也可通过此方法进行关闭。
pointToOverlayPixel(point:Point) Pixel 根据地理坐标获取对应的覆盖物容器的坐标,此方法用于自定义覆盖物。(自 1.1 新增)
overlayPixelToPoint(pixel:Pixel) Point 根据覆盖物容器的坐标获取对应的地理坐标。(自 1.1 新增)
getInfoWindow() InfoWindow|Null返回地图上处于打开状态的信息窗的实例。当地图没有打开的信息窗口时,此方法返回null。(自 1.1 新增)
getOverlays() Array<Overlay>返回地图上的所有覆盖物。(自 1.1 新增)
getPanes() MapPanes返回地图覆盖物容器列表。

地图图层方法

方法返回值描述
addTileLayer(tileLayer:TileLayer) none 添加一个自定义地图图层。
removeTileLayer(tilelayer:TileLayer) none 移除一个自定义地图图层。
getTileLayer(mapType:String) TileLayer通过地图类型得到一个地图图层对象。

坐标变换

方法返回值描述
pixelToPoint(pixel:Pixel) Point 像素坐标转换为经纬度坐标。
pointToPixel(point:Point) Pixel 经纬度坐标转换为像素坐标。

事件

事件参数描述
click {type, target, point, pixel, overlay}左键单击地图时触发此事件。

当双击时,产生的事件序列为: click click dblclick (自 1.1 更新)

dblclick {type, target, pixel, point}鼠标双击地图时会触发此事件。
rightclick {type, target, point, pixel, overlay}右键单击地图时触发此事件。

当双击时,产生的事件序列为: rightclick rightclick rightdblclick (自 1.1 更新)

rightdblclick {type, target, point, pixel, overlay}右键双击地图时触发此事件。

(自 1.1 新增)

maptypechange {type, target}地图类型发生变化时触发此事件。

(自 1.1 新增)

mousemove {type, target, point, pixel, overlay}鼠标在地图区域移动过程中触发此事件。

(自 1.1 新增)

mouseover {type, target}鼠标移入地图区域时触发此事件。

(自 1.2 新增)

mouseout {type, target}鼠标移出地图区域时触发此事件。

(自 1.2 新增)

movestart {type, target}地图移动开始时触发此事件。
moving {type, target}地图移动过程中触发此事件。
moveend {type, target}地图移动结束时触发此事件。
zoomstart {type, target}地图更改缩放级别开始时触发触发此事件。
zoomend {type, target}地图更改缩放级别结束时触发触发此事件。
addoverlay {type, target}当使用Map.addOverlay()方法向地图中添加单个覆盖物时会触发此事件。
addcontrol {type, target}当使用Map.addControl()方法向地图中添加单个控件时会触发此事件。
removecontrol {type, target}当使用Map.removeControl()方法移除单个控件时会触发此事件。
removeoverlay {type, target}当使用Map.removeOverlay()方法移除单个覆盖物时会触发此事件。
clearoverlays {type, target}当使用Map.clearOverlays()方法一次性移除全部覆盖物时会触发此事件。
dragstart {type, target, pixel, point}开始拖拽地图时触发。
dragging {type, target, pixel, point}拖拽地图过程中触发。
dragend {type, target, pixel, point}停止拖拽地图时触发。
addtilelayer {type, target}添加一个自定义地图图层时触发此事件。
removetilelayer {type, target}移除一个自定义地图图层时触发此事件。
load {type, target, pixel, point, zoom}调用Map.centerAndZoom()方法时会触发此事件。这表示位置、缩放层级已经确定,但可能还在载入地图图块。
resize {type, target, size}地图可视区域大小发生变化时会触发此事件。
hotspotclick {type, target, spots}点击热区时触发此事件。(自 1.2 新增)
hotspotover {type, target, spots}鼠标移至热区时触发此事件。(自 1.2 新增)
hotspotout {type, target, spots}鼠标移出热区时触发此事件。(自 1.2 新增)
tilesloaded {type, target}当地图所有图块完成加载时触发此事件。(自 1.2 新增)
touchstart {type, target, point,pixel}触摸开始时触发此事件,仅适用移动设备。(自 1.5新增)
touchmove {type, target, point,pixel}触摸移动时触发此事件,仅适用移动设备。(自 1.5新增)
touchend {type, target, point,pixel}触摸结束时触发此事件,仅适用移动设备。(自 1.5新增)
longpress {type, target, point,pixel}长按事件,仅适用移动设备。(自 1.5新增)
查看
Class:总类/核心类

类参考