BIGEMAP通过离线地图二次开发接口(离线地图API)
用法示例示例// 使用id为map的div容器初始化地图,同时指定地图的中心点和缩放级别BM.Config.HTTP_URL = '';var map = BM.map('map','mapid', {center: [51.505, -0.09],zoom: 13});创建构造描述BM.map(<String>id...
用法示例 示例
// 使用id为map的div容器初始化地图,同时指定地图的中心点和缩放级别
BM.Config.HTTP_URL = '';
var map = BM.map('map','mapid', {
center: [51.505, -0.09],
zoom: 13
});
创建
构造 | 描述 |
---|---|
BM.map( <String> id, <String> mapid, <Map options>options?) | 给定<div> 元素的DOM ID 以及可选的对象文字的实例化地图对象Map options 。 |
BM.map( <HTMLElement> el, <String> mapid, <Map options>options?) | 给定<div> HTML元素实例和可选的对象文字实例化地图对象Map options 。 |
选项
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
preferCanvas | Boolean | false | 是否Path 应在渲染Canvas 器上渲染s 。默认情况下,所有Path s都在SVG 渲染器中呈现。 |
控制选项
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
attributionControl | Boolean | true | 默认情况下是否将归因控件添加到地图中。 |
zoomControl | Boolean | true | 默认情况下是否将缩放控件添加到地图中。 |
交互选项
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
closePopupOnClick | Boolean | true | false 如果您不希望在用户单击地图时关闭弹出窗口,请将其设置为。 |
zoomSnap | Number | 1 | 强制地图的缩放级别始终为此的倍数,尤其是在fitBounds() 缩放或缩放后。默认情况下,缩放级别会捕捉到最接近的整数; 较低的值(例如0.5 或0.1 )允许更大的粒度。值0 表示缩放后的缩放级别fitBounds 或者缩放缩放。 |
zoomDelta | Number | 1 | 控制地图的缩放级别多少后改变 zoomIn() ,zoomOut() ,压制+ 或- 在键盘上,或者使用缩放控件。小于1 (例如0.5 )的值允许更大的粒度。 |
trackResize | Boolean | true | 地图是否自动处理浏览器窗口调整大小以更新自身。 |
boxZoom | Boolean | true | 是否可以在按住Shift键的同时通过拖动鼠标将地图缩放到指定的矩形区域。 |
doubleClickZoom | Boolean|String | true | 是否可以通过双击放大地图并通过双击同时按住缩放来缩小地图。如果通过 'center' ,双击缩放将缩放到视图的中心,无论鼠标位于何处。 |
dragging | Boolean | true | 是否可以使用鼠标/触摸拖动地图。 |
映射状态选项
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
crs | CRS | BM.CRS.EPSG3857 | 要使用的坐标参考系统。如果您不确定这意味着什么,请不要更改此项。 |
center | LatLng | undefined | 地图的初始地理中心 |
zoom | Number | undefined | 初始地图缩放级别 |
minZoom | Number | * | 地图的最小缩放级别。如果未指定且至少有一个GridLayer 或TileLayer 在地图中,minZoom 则将使用其中最低的选项。 |
maxZoom | Number | * | 地图的最大缩放级别。如果未指定且至少有一个GridLayer 或TileLayer 在地图中,maxZoom 则将使用其中最高的选项。 |
layers | Layer[] | [] | 最初将添加到地图的图层数组 |
maxBounds | LatLngBounds | null | 设置此选项后,地图会将视图限制为给定的地理边界,如果用户尝试在视图外平移,则会将用户反弹回来。要动态设置限制,请使用 setMaxBounds 方法。 |
renderer | Renderer | * | 在地图上绘制矢量图层的默认方法。BM.SVG 或BM.Canvas 默认情况下取决于浏览器支持。 |
动画选项
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
zoomAnimation | Boolean | true | 是否启用地图缩放动画。默认情况下,除了Android之外,所有支持CSS3过渡的浏览器都启用了它。 |
zoomAnimationThreshold | Number | 4 | 如果缩放差异超过此值,则不会设置缩放动画。 |
fadeAnimation | Boolean | true | 是否启用了平铺淡入淡出动画。默认情况下,除了Android之外,所有支持CSS3过渡的浏览器都启用了它。 |
markerZoomAnimation | Boolean | true | 标记是否使用缩放动画为其缩放设置动画,如果禁用,它们将在动画的长度内消失。默认情况下,除了Android之外,所有支持CSS3过渡的浏览器都启用了它。 |
transform3DLimit | Number | 2^23 | 定义CSS转换变换的最大大小。除非Web浏览器在执行大型操作后将图层放在错误的位置,否则不应更改默认值panBy 。 |
平移惯性选项
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
inertia | Boolean | * | 如果启用,则平移地图将具有惯性效果,其中地图在拖动时构建动量并且继续在相同方向上移动一段时间。在触摸设备上感觉特别好。除非在旧的Android设备上运行,否则默认启用。 |
inertiaDeceleration | Number | 3000 | 惯性运动减速的速率,以像素/秒为单位。 |
inertiaMaxSpeed | Number | Infinity | 惯性运动的最大速度,以像素/秒为单位。 |
easeLinearity | Number | 0.2 | |
worldCopyJump | Boolean | false | 启用此选项后,地图会跟踪您平移到世界的另一个“副本”并无缝跳转到原始地图,以便所有叠加层(如标记和矢量图层)仍然可见。 |
maxBoundsViscosity | Number | 0.0 | 如果maxBounds 设置,则此选项将控制拖动地图时边界的实体程度。默认值0.0 允许用户以正常速度拖动边界外,较高的值将减慢地图拖动外部边界,1.0 并使边界完全固定,防止用户拖出边界外。 |
键盘导航选项
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
keyboard | Boolean | true | 使地图可聚焦,并允许用户使用键盘箭头和+ / - 键导航地图。 |
keyboardPanDelta | Number | 80 | 按箭头键时平移的像素数量。 |
鼠标滚轮选项
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
scrollWheelZoom | Boolean|String | true | 是否可以使用鼠标滚轮缩放地图。如果通过'center' ,它将缩放到视图的中心,无论鼠标在哪里。 |
wheelDebounceTime | Number | 40 | 限制车轮可以发射的速率(以毫秒为单位)。默认情况下,用户不能每40毫秒更频繁地通过滚轮进行缩放。 |
wheelPxPerZoomLevel | Number | 60 | 多少个滚动像素(由BM.DomEvent.getWheelDelta报告)表示更改一个完整缩放级别。较小的值将使轮缩放更快(反之亦然)。 |
触摸互动选项
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
tap | Boolean | true | 支持移动黑客支持即时点击(在iOS / Android上修复200毫秒点击延迟)和触摸保持(触发contextmenu 事件)。 |
tapTolerance | Number | 15 | 用户在触摸期间可以移动手指的最大像素数,以将其视为有效的抽头。 |
touchZoom | Boolean|String | * | 是否可以通过用两个手指触摸拖动来缩放地图。如果通过'center' ,它将缩放到视图的中心,无论触摸事件(手指)在哪里。支持具有触摸功能的Web浏览器,但旧的Androids除外。 |
bounceAtZoomLimits | Boolean | true | 如果您不希望地图缩放超过最小/最大缩放,然后在缩放缩放时反弹,则将其设置为false。 |
活动
图层事件
事件 | 数据 | 描述 |
---|---|---|
baselayerchange | LayersControlEvent | 通过图层控件更改基础图层时触发。 |
overlayadd | LayersControlEvent | 通过图层控件选择叠加层时触发。 |
overlayremove | LayersControlEvent | 通过图层控件取消选择叠加层时触发。 |
layeradd | LayerEvent | 将新图层添加到地图时触发。 |
layerremove | LayerEvent | 从地图中删除某个图层时触发 |
映射状态更改事件
事件 | 数据 | 描述 |
---|---|---|
zoomlevelschange | Event | 由于添加或删除图层而改变地图上的缩放级别数时触发。 |
resize | ResizeEvent | 调整地图大小时触发。 |
unload | Event | 使用remove方法销毁地图时触发。 |
viewreset | Event | 当地图需要重绘其内容时触发(这通常发生在地图缩放或加载)。对于创建自定义叠加层非常有用。 |
load | Event | 初始化地图时(第一次设置中心和缩放时)触发。 |
zoomstart | Event | 当地图缩放即将改变时触发(例如在缩放动画之前)。 |
movestart | Event | 在地图视图开始更改时触发(例如,用户开始拖动地图)。 |
zoom | Event | 在缩放级别的任何变化期间反复触发,包括缩放和飞行动画。 |
move | Event | 在地图的任何移动过程中反复发射,包括平移和飞行动画。 |
zoomend | Event | 在地图发生变化后,在任何动画之后触发。 |
moveend | Event | 当地图中心停止变化时触发(例如,用户停止拖动地图)。 |
弹出事件
事件 | 数据 | 描述 |
---|---|---|
popupopen | PopupEvent | 在地图中打开弹出窗口时触发 |
popupclose | PopupEvent | 关闭地图中的弹出窗口时触发 |
autopanstart | Event | 打开弹出窗口时地图开始自动平移时触发。 |
工具提示事件
事件 | 数据 | 描述 |
---|---|---|
tooltipopen | TooltipEvent | 在地图中打开工具提示时触发。 |
tooltipclose | TooltipEvent | 关闭地图中的工具提示时触发。 |
位置活动
事件 | 数据 | 描述 |
---|---|---|
locationerror | ErrorEvent | 地理定位(使用该locate 方法)失败时触发。 |
locationfound | LocationEvent | 地理定位(使用locate 方法)成功时触发。 |
互动活动
事件 | 数据 | 描述 |
---|---|---|
click | MouseEvent | 用户单击(或点击)地图时触发。 |
dblclick | MouseEvent | 当用户双击(或双击)地图时触发。 |
mousedown | MouseEvent | 当用户在地图上按下鼠标按钮时触发。 |
mouseup | MouseEvent | 当用户在地图上释放鼠标按钮时触发。 |
mouseover | MouseEvent | 鼠标进入地图时触发。 |
mouseout | MouseEvent | 鼠标离开地图时触发。 |
mousemove | MouseEvent | 鼠标在地图上移动时触发。 |
contextmenu | MouseEvent | 当用户在地图上按下鼠标右键时触发,防止默认浏览器上下文菜单显示此事件是否有侦听器。当用户持续一次触摸(也称为长按)时,也会在手机上触发。 |
keypress | KeyboardEvent | 当用户在聚焦地图时从键盘按下键时触发。 |
preclick | MouseEvent | 鼠标在地图上单击之前触发(有时在任何现有点击处理程序开始运行之前需要点击某些内容时有用)。 |
其他方法
事件 | 数据 | 描述 |
---|---|---|
zoomanim | ZoomAnimEvent | 在缩放动画的每一帧上都会被触发 |
方法
方法 | 返回 | 描述 |
---|---|---|
getRenderer( <Path>layer) | Renderer | 返回 |
层和控件方法
方法 | 返回 | 描述 |
---|---|---|
addControl( <Control> control) | this | 添加控件至地图视图 |
removeControl( <Control> control) | this | 移除控件 |
addLayer( <Layer> layer) | this | 添加层至地图视图 |
removeLayer( <Layer> layer) | this | 移除层 |
hasLayer( <Layer> layer) | Boolean | 查询是否有指定的层 |
eachLayer( <Function> fn, <Object> context?) | this | 迭代映射的层,可选地指定迭代器函数的上下文。 |
openPopup( <Popup> popup) | this | 关闭先前打开时打开指定的弹出窗口(以确保一次只能打开一个以获得可用性)。 |
openPopup( <String|HTMLElement> content, <LatLng> latlng,<Popup options> options?) | this | 创建具有指定内容和选项的弹出窗口,并在地图上的给定点中打开它。 |
closePopup( <Popup> popup?) | this | 关闭先前使用openPopup(或给定的)打开的弹出窗口。 |
openTooltip( <Tooltip> tooltip) | this | 打开指定的工具提示。 |
openTooltip( <String|HTMLElement> content, <LatLng> latlng,<Tooltip options> options?) | this | 创建具有指定内容和选项的工具提示并将其打开。 |
closeTooltip( <Tooltip> tooltip?) | this | 关闭作为参数给出的工具提示。 |
地图状态修改
方法 | 返回 | 描述 |
---|---|---|
setView( <LatLng>center, <Number> zoom,<Zoom/pan options>options?) | this | 设置地图位置(地理位置和缩放级别)) |
setZoom( <Number> zoom,<Zoom/pan options>options?) | this | 设置缩放级别 |
zoomIn( <Number> delta?,<Zoom options> options?) | this | 通过 |
zoomOut( <Number>delta?, <Zoom options>options?) | this | 通过 |
setZoomAround( <LatLng>latlng, <Number> zoom,<Zoom options> options) | this | 缩放地图,同时使地图上的指定地理点保持静止(例如,在内部用于滚动缩放和双击缩放)。 |
setZoomAround( <Point>offset, <Number> zoom,<Zoom options> options) | this | 放大地图,同时保持地图上的指定像素(相对于左上角)静止不动。 |
fitBounds(<LatLngBounds> bounds,<fitBounds options>options?) | this | 限定地图可移动区域 |
fitWorld(<fitBounds options>options?) | this | 设置一个地图视图,该视图主要包含可能具有最大缩放级别的整个世界。 |
panTo( <LatLng> latlng,<Pan options> options?) | this | 移动地图到新的中心点 |
panBy( <Point> offset,<Pan options> options?) | this | 按给定数量的像素(动画)平移地图。 |
flyTo( <LatLng> latlng,<Number> zoom?,<Zoom/pan options>options?) | this | 移动至新的位置(中心和缩放) |
flyToBounds(<LatLngBounds> bounds,<fitBounds options>options?) | this | |
setMaxBounds( <Bounds>bounds) | this | 将地图视图限制为给定边界(请参阅maxBounds选项)。 |
setMinZoom( <Number>zoom) | this | 设置最小可用缩放级别(参照minZoom配置) |
setMaxZoom( <Number>zoom) | this | 设置最大可用缩放级别(参照maxZoom配置) |
panInsideBounds(<LatLngBounds> bounds,<Pan options> options?) | this | 将地图平移到位于给定边界内的最近视图(如果它还没有),使用特定选项(如果有)控制动画。 |
invalidateSize(<Zoom/pan options>options) | this | 检查地图容器大小是否更改并更新地图(如果是这样) - 在动态更改地图大小后调用它,默认情况下也为动画设置动画。如果 |
invalidateSize(<Boolean> animate) | this | 检查地图容器大小是否更改并更新地图(如果是这样) - 在动态更改地图大小后调用它,默认情况下也为动画设置动画。 |
stop() | this | 停止当前运行的动画( |
地理定位方法
方法 | 返回 | 描述 |
---|---|---|
locate(<Locate options>options?) | this | 尝试使用Geolocation API定位用户,触发包含 |
stopLocate() | this | 停止观看之前发起的位置 |
其它方法
方法 | 返回 | 描述 |
---|---|---|
addHandler( <String> name,<Function> HandlerClass) | this |
|
remove() | this | 销毁地图并清楚所有相关的事件监听器。 |
createPane( <String> name,<HTMLElement> container?) | HTMLElement | 如果已存在,则创建具有给定名称的新地图窗格,然后返回该窗格。 |
getPane( <String|HTMLElement>pane) | HTMLElement | 给出其名称或其HTML元素(其标识)的地图窗格。 |
getPanes() | Object | 返回一个普通对象,其中包含所有窗格的名称作为键,窗格作为值。 |
getContainer() | HTMLElement | 返回包含地图的HTML元素。 |
whenReady( <Function> fn,<Object> context?) | this |
|
获取地图状态方法
方法 | 返回 | 描述 |
---|---|---|
getCenter() | LatLng | 获取当前中心点 |
getZoom() | Number | 获取当前缩放级别 |
getBounds() | LatLngBounds | 获取当前视图可见边界 |
getMinZoom() | Number | 获取当前最小缩放级别(如果在 |
getMaxZoom() | Number | 获取当前最大缩放级别(如果在 |
getBoundsZoom( <LatLngBounds>bounds, <Boolean> inside?) | Number | 返回给定边界完全适合地图视图的最大缩放级别。如果 |
getSize() | Point | 获取当前容器大小(px单位) |
getPixelBounds() | Bounds | 返回投影像素坐标中当前地图视图的边界(有时在图层和叠加层实现中很有用)。 |
getPixelOrigin() | Point | 返回地图图层左上角点的投影像素坐标(在自定义图层和叠加层实现中很有用)。 |
getPixelWorldBounds( <Number>zoom?) | Bounds | 返回缩放级别的像素坐标中的世界边界 |
转换方法
方法 | 返回 | 描述 |
---|---|---|
getZoomScale( <Number>toZoom, <Number> fromZoom) | Number | 返回要应用于从缩放级别 |
getScaleZoom( <Number>scale, <Number> fromZoom) | Number | 返回地图最终的缩放级别,如果它处于 |
project( <LatLng> latlng,<Number> zoom) | Point | 项目的地理坐标 |
unproject( <Point> point,<Number> zoom) | LatLng | 逆的 |
layerPointToLatLng( <Point>point) | LatLng | 给定相对于原点像素的像素坐标,返回相应的地理坐标(对于当前缩放级别)。 |
latLngToLayerPoint(<LatLng> latlng) | Point | 给定地理坐标,返回相对于原始像素的对应像素坐标。 |
wrapLatLng( <LatLng>latlng) | LatLng | 如果它们在CRS的边界之外,则返回一个 |
wrapLatLngBounds(<LatLngBounds> bounds) | LatLngBounds | 返回 |
distance( <LatLng> latlng1,<LatLng> latlng2) | Number | 根据地图的CRS返回两个地理坐标之间的距离。默认情况下,它以米为单位测量距离 |
containerPointToLayerPoint(<Point> point) | Point | 给定相对于地图容器的像素坐标,返回相对于原始像素的对应像素坐标。 |
layerPointToContainerPoint(<Point> point) | Point | 给定相对于原始像素的像素坐标,返回相对于地图容器的对应像素坐标。 |
containerPointToLatLng(<Point> point) | LatLng | 给定相对于地图容器的像素坐标,返回相应的地理坐标(对于当前缩放级别)。 |
latLngToContainerPoint(<LatLng> latlng) | Point | 给定地理坐标,返回相对于地图容器的对应像素坐标。 |
mouseEventToContainerPoint(<MouseEvent> ev) | Point | 给定MouseEvent对象,返回相对于发生事件的地图容器的像素坐标。 |
mouseEventToLayerPoint(<MouseEvent> ev) | Point | 给定MouseEvent对象,返回相对于发生事件的原点像素的像素坐标。 |
mouseEventToLatLng(<MouseEvent> ev) | LatLng | 给定MouseEvent对象,返回事件发生的地理坐标。 |
▶从Evented继承的方法
属性
处理程序
属性 | 类型 | 描述 |
---|---|---|
boxZoom | Handler | 框(用鼠标移动拖动)缩放处理程序。 |
doubleClickZoom | Handler | 双击缩放处理程序。 |
dragging | Handler | 映射拖动处理程序(通过鼠标和触摸)。 |
keyboard | Handler | 键盘导航处理程序 |
scrollWheelZoom | Handler | 滚轮变焦处理程序。 |
tap | Handler | 移动触摸黑客(快速点击和触摸保持)处理程序。 |
touchZoom | Handler | 触摸变焦处理程序 |
地图窗格
窗格是用于控制地图上图层排序的DOM元素。您可以使用map.getPane
或 map.getPanes
方法访问窗格。可以使用该map.createPane
方法创建新窗格。每个地图都有以下默认窗格,这些窗格仅在zIndex中有所不同。
窗格 | 类型 | Z-指数 | 描述 |
---|---|---|---|
mapPane | HTMLElement | 'auto' | 包含所有其他地图窗格的窗格 |
tilePane | HTMLElement | 200 | 适用于GridLayer s和TileLayer s的窗格 |
overlayPane | HTMLElement | 400 | 矢量窗格(Path s,Polyline s和Polygon s),ImageOverlay s和VideoOverlay s |
shadowPane | HTMLElement | 500 | 叠加阴影的窗格(例如Marker 阴影) |
markerPane | HTMLElement | 600 | 窗格Icon 第Marker 小号 |
tooltipPane | HTMLElement | 650 | Pane for Tooltip s。 |
popupPane | HTMLElement | 700 | Pane for Popup s。 |
找到选项
一些地理位置方法Map
在取options
参数。这是一个普通的javascript对象,包含以下可选组件:
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
watch | Boolean | false | 如果true ,使用W3C watchPosition 方法开始连续观察位置变化(而不是检测一次)。您可以稍后停止使用map.stopLocate() 方法观看 。 |
setView | Boolean | false | 如果true ,根据检测准确性自动将地图视图设置为用户位置,或者如果地理位置失败则自动将地图视图设置为世界视图。 |
maxZoom | Number | Infinity | 使用setView 选项时自动视图设置的最大缩放。 |
timeout | Number | 10000 | 在触发locationerror 事件之前等待地理定位响应的毫秒数 。 |
maximumAge | Number | 0 | 检测到的位置的最大年龄。如果小于自上次地理位置响应以来经过的毫秒数,locate 则将返回缓存位置。 |
enableHighAccuracy | Boolean | false | 实现高精度,请参阅W3C规范中的说明。 |
缩放选项
Map
修改缩放级别的一些方法采用options
参数。这是一个普通的javascript对象,包含以下可选组件:
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
animate | Boolean | 如果未指定,如果缩放原点位于当前视图内,则会发生缩放动画。如果true ,地图将尝试动画缩放,而忽略缩放原点的位置。设置false 将使其始终在没有动画的情况下完全重置视图。 |
平移选项
Map
修改地图中心的一些方法采用options
参数。这是一个普通的javascript对象,包含以下可选组件:
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
animate | Boolean | 如果true ,如果可能的话,平移将始终是动画。如果false ,它不会动画平移,如果平移超过屏幕,则重置地图视图,或者仅为地图窗格设置新的偏移(除了panBy 后者总是如此)。 | |
duration | Number | 0.25 | 动画平移的持续时间,以秒为单位。 |
easeLinearity | Number | 0.25 | 平移动画缓动的曲率因子(Cubic Bezier曲线的第三个参数 )。1.0表示线性动画,数字越小,曲线越弯曲。 |
noMoveStart | Boolean | false | 如果true ,平移不会movestart 在启动时触发事件(内部用于平移惯性)。 |
缩放/平移选项
FitBounds选项
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
paddingTopLeft | Point | [0, 0] | 设置在将视图设置为适合边界时不应考虑的地图容器左上角的填充量。如果您在地图上有一些控件叠加层(如侧边栏)并且您不希望它们遮挡您要缩放的对象,则非常有用。 |
paddingBottomRight | Point | [0, 0] | 地图右下角也是如此。 |
padding | Point | [0, 0] | 相当于将左上角和右下角填充设置为相同的值。 |
maxZoom | Number | null | 要使用的最大缩放比例。 |
标记
BM.Marker用于在地图上显示可点击/可拖动的图标。延伸Layer
。
用法示例
BM.marker([50.5, 30.5]).addTo(map);
创建
构造 | 描述 |
---|---|
BM.marker( <LatLng> latlng, <Marker options> options?) | 给定地理点和可选的选项对象实例化Marker对象。 |
选项
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
icon | Icon | * | 用于渲染标记的图标实例。有关如何自定义标记图标的详细信息,请参阅图标文档。如果未指定,BM.Icon.Default 则使用公共实例。 |
draggable | Boolean | false | 标记是否可以通过鼠标/触摸进行拖动。 |
autoPan | Boolean | false | true 如果您希望地图在标记到达边缘时执行平移动画,请将其设置为。 |
autoPanPadding | Point | Point(50, 50) | 相当于将左上角和右下角的autopan填充设置为相同的值。 |
autoPanSpeed | Number | 10 | 地图应移动的像素数。 |
keyboard | Boolean | true | 是否可以使用键盘选中标记,然后按Enter键单击。 |
title | String | '' | 标记悬停时显示的浏览器工具提示的文本(默认情况下不是工具提示)。 |
alt | String | '' | alt 图标图像属性的文本(对辅助功能非常有用)。 |
zIndexOffset | Number | 0 | 默认情况下,标记图像zIndex会根据其纬度自动设置。如果要将标记放在所有其他标记(或下方)之上,请指定高值1000 (或分别为高负值),请使用此选项。 |
opacity | Number | 1.0 | 标记的不透明度。 |
riseOnHover | Boolean | false | 如果true ,当您将鼠标悬停在其上时,标记将会显示在其他标记之上。 |
riseOffset | Number | 250 | 用于该riseOnHover 功能的z-index偏移量。 |
pane | String | 'markerPane' | Map pane 将添加标记图标的位置。 |
bubblingMouseEvents | Boolean | false | 何时true ,此标记上的鼠标事件将在地图上触发相同的事件(除非BM.DomEvent.stopPropagation 使用)。 |
▶从交互层继承的选项
▶继承自Layer的选项
活动
除了共享层的方法等addTo()
,并remove()
与弹出方法等bindPopup()也可以使用以下方法:
事件 | 数据 | 描述 |
---|---|---|
move | Event | setLatLng 通过拖动移动标记时触发。新旧坐标包含在事件参数中oldLatLng ,如latlng 。 |
拖动事件
事件 | 数据 | 描述 |
---|---|---|
dragstart | Event | 用户开始拖动标记时触发。 |
movestart | Event | 标记开始移动时触发(因为拖动)。 |
drag | Event | 用户拖动标记时反复触发。 |
dragend | DragEndEvent | 用户停止拖动标记时触发。 |
moveend | Event | 当标记停止移动(因拖动)时触发。 |
▶从交互层继承的鼠标事件
▶从Layer继承的事件
▶从Layer继承的弹出事件
▶从Layer继承的工具提示事件
方法
方法 | 返回 | 描述 |
---|---|---|
toGeoJSON() | Object | |
getLatLng() | LatLng | 返回标记的当前地理位置。 |
setLatLng( <LatLng> latlng) | this | 将标记位置更改为给定点。 |
setZIndexOffset( <Number> offset) | this | 更改标记的zIndex偏移量。 |
setIcon( <Icon> icon) | this | 更改标记图标。 |
setOpacity( <Number> opacity) | this | 更改标记的不透明度。 |
▶从Layer继承的方法
▶从Layer继承的Popup方法
▶继承自Layer的工具提示方法
▶从Evented继承的方法
属性
交互处理程序
交互处理程序是标记实例的属性,允许您在运行时控制交互行为,启用或禁用某些功能,如拖动(请参阅Handler
方法)。例:
marker.dragging.disable();
属性 | 类型 | 描述 |
---|---|---|
dragging | Handler | 标记拖动处理程序(通过鼠标和触摸)。仅在标记位于地图上时有效(否则设置marker.options.draggable )。 |
弹出
用于在地图的某些位置打开弹出窗口。使用Map.openPopup打开弹出窗口,同时确保一次只打开一个弹出窗口(建议用于可用性),或使用Map.addLayer打开任意数量的弹出窗口。
用法示例
如果你想将弹出窗口绑定到标记点击然后打开它,那很简单:
marker.bindPopup(popupContent).openPopup();
折线之类的路径叠加也有一个bindPopup
方法。这是在地图上打开弹出窗口的更复杂方法:
var popup = BM.popup()
.setLatLng(latlng)
.setContent('<p>Hello world!<br />This is a nice popup.</p>')
.openOn(map);
创建
构造 | 描述 |
---|---|
BM.popup( <Popup options> options?,<Layer> source?) | 实例化一个Popup 给定可选options 对象的对象,该对象描述其外观和位置,以及一个可选source 对象,用于标记弹出窗口,引用其引用的图层。 |
选项
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
maxWidth | Number | 300 | 弹出窗口的最大宽度(以像素为单位)。 |
minWidth | Number | 50 | 弹出窗口的最小宽度(以像素为单位)。 |
maxHeight | Number | null | 如果设置,如果其内容超过它,则在弹出窗口内创建一个具有给定高度的可滚动容器。 |
autoPan | Boolean | true | false 如果您不希望地图执行平移动画以适合打开的弹出窗口,请将其设置为。 |
autoPanPaddingTopLeft | Point | null | 执行autopanning后,弹出窗口和地图视图左上角之间的边距。 |
autoPanPaddingBottomRight | Point | null | 执行自动平次后,地图视图的弹出窗口和右下角之间的边距。 |
autoPanPadding | Point | Point(5, 5) | 相当于将左上角和右下角的autopan填充设置为相同的值。 |
keepInView | Boolean | false | 将它设置为true 如果要防止用户平移弹出关闭屏幕,而它是开放的。 |
closeButton | Boolean | true | 控制弹出窗口中是否存在关闭按钮。 |
autoClose | Boolean | true | 将它设置为false ,如果你想另一个弹出打开时覆盖弹出关闭的默认行为。 |
closeOnEscapeKey | Boolean | true | 将它设置为false ,如果要覆盖ESC键的默认行为的弹出窗口的关闭。 |
closeOnClick | Boolean | * | 如果要在用户单击地图时覆盖弹出窗口关闭的默认行为,请设置它。默认为地图的closePopupOnClick 选项。 |
className | String | '' | 要分配给弹出窗口的自定义CSS类名称。 |
▶继承自DivOverlay的选项
▶继承自Layer的选项
活动
▶从Layer继承的事件
▶从Layer继承的弹出事件
▶从Layer继承的工具提示事件
方法
方法 | 返回 | 描述 |
---|---|---|
getLatLng() | LatLng | 返回弹出窗口的地理位置。 |
setLatLng( <LatLng> latlng) | this | 设置弹出窗口打开的地理位置。 |
getContent() | String|HTMLElement | 返回弹出窗口的内容。 |
setContent(<String|HTMLElement|Function>htmlContent) | this | 设置弹出窗口的HTML内容。如果传递函数,源图层将传递给函数。该函数应该返回一个 |
getElement() | String|HTMLElement | |
update() | null | 更新弹出内容,布局和位置。用于更改内部更改后的弹出窗口,例如图像加载。 |
isOpen() | Boolean |
|
bringToFront() | this | 将此弹出窗口置于其他弹出窗口之前(在同一个地图窗格中)。 |
bringToBack() | this | 将此弹出窗口置于其他弹出窗口的后面(在同一个地图窗格中)。 |
openOn( <Map> map) | this | 将弹出窗口添加到地图并关闭上一个。同样的 |
▶从Layer继承的方法
▶从Layer继承的Popup方法
▶继承自Layer的工具提示方法
▶从Evented继承的方法
提示
用于在地图图层上显示小文本。
用法示例
marker.bindTooltip("my tooltip text").openTooltip();
关于工具提示偏移的注意事项。
- 该
offset
工具提示选项:它默认为[0,0],这是特定于一个工具提示。添加正x偏移以将工具提示向右移动,并使用正y偏移将其移动到底部。负数将移至左侧和顶部。 - 该
tooltipAnchor
图标选项:这只会被视为标记。如果使用自定义图标,则应调整此值。
创建
构造 | 描述 |
---|---|
BM.tooltip( <Tooltip options>options?, <Layer> source?) | 实例化一个Tooltip对象,给定一个options 描述其外观和位置的可选source 对象,以及一个可选对象,用于标记工具提示,并引用它引用的Layer。 |
选项
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
pane | String | 'tooltipPane' | Map pane 将添加工具提示的位置。 |
offset | Point | Point(0, 0) | 工具提示位置的可选偏移量。 |
direction | String | 'auto' | 方向在哪里打开工具提示。可能的值有:right ,left , top ,bottom ,center ,auto 。 auto 将之间进行动态切换right 和left 根据地图上的工具提示位置。 |
permanent | Boolean | false | 是永久打开工具提示还是仅在鼠标悬停时打开工具提示。 |
sticky | Boolean | false | 如果为true,则工具提示将跟随鼠标而不是固定在要素中心。 |
interactive | Boolean | false | 如果为true,则工具提示将侦听要素事件。 |
opacity | Number | 0.9 | 工具提示容器不透明度。 |
▶继承自DivOverlay的选项
▶继承自Layer的选项
活动
▶从Layer继承的事件
▶从Layer继承的弹出事件
▶从Layer继承的工具提示事件
方法
▶从Layer继承的方法
▶从Layer继承的Popup方法
▶继承自Layer的工具提示方法
▶从Evented继承的方法
TileLayer
用于在地图上加载和显示切片图层。延伸GridLayer
。
用法示例
BM.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png?{foo}', {foo: 'bar'}).addTo(map);
网址模板
以下形式的字符串:
'http://{s}.somedomain.com/blabla/{z}/{x}/{y}{r}.png'
{s}
装置可用的子域中的一个(顺序地用于帮助每个域限制浏览器并行请求;子域值在选项中指定; a
,b
或c
通过默认,可省略),{z}
-缩放级别,{x}
以及{y}
-瓷砖坐标。{r}
可用于将“@ 2x”添加到URL以加载视网膜图块。您可以在模板中使用自定义键,这些键将从TileLayer选项中进行评估,如下所示:
BM.tileLayer('http://{s}.somedomain.com/{foo}/{z}/{x}/{y}.png', {foo: 'bar'});
创建
扩展方法
构造 | 描述 |
---|---|
BM.tilelayer( <String> urlTemplate, <TileLayer options>options?) | 在给定a URL template 和可选的options对象的情况下实例化tile图层对象。 |
选项
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
minZoom | Number | 0 | 显示此图层的最小缩放级别(包括)。 |
maxZoom | Number | 18 | 此图层将显示的最大缩放级别(包括)。 |
subdomains | String|String[] | 'abc' | 磁贴服务的子域。可以以一个字符串(每个字母是子域名)或字符串数组的形式传递。 |
errorTileUrl | String | '' | 要显示的图块图像的URL,以代替无法加载的图块。 |
zoomOffset | Number | 0 | 平铺URL中使用的缩放编号将使用此值进行偏移。 |
tms | Boolean | false | 如果true ,反转瓷砖的Y轴编号(为TMS服务启用此功能)。 |
zoomReverse | Boolean | false | 如果设置为true,则平铺URL中使用的缩放编号将反转(maxZoom - zoom 而不是zoom ) |
detectRetina | Boolean | false | 如果true 和用户在视网膜显示器上,它将要求四个指定尺寸的一半的瓷砖和一个更大的缩放级别来代替一个以利用高分辨率。 |
crossOrigin | Boolean | false | 如果为true,则所有切片的crossOrigin属性都将设置为''。如果要访问切片像素数据,则需要这样做。 |
▶继承自GridLayer的选项
▶继承自Layer的选项
活动
▶从Layer继承的事件
▶从Layer继承的弹出事件
▶从Layer继承的工具提示事件
方法
方法 | 返回 | 描述 |
---|---|---|
setUrl( <String> url,<Boolean> noRedraw?) | this | 更新图层的URL模板并重新绘制它(除非 |
createTile( <Object> coords,<Function> done?) | HTMLElement | 仅在内部调用,覆盖GridLayer |
扩展方法
图层扩展TileLayer
可能会重新实现以下方法。
方法 | 返回 | 描述 |
---|---|---|
getTileUrl( <Object>coords) | String | 仅在内部调用,返回给定其坐标的tile的URL。扩展类 |
▶从GridLayer继承的方法
▶从Layer继承的方法
▶从Layer继承的Popup方法
▶继承自Layer的工具提示方法
▶从Evented继承的方法
用于在地图上将WMS服务显示为切片图层。延伸TileLayer
。
用法示例
var nexrad = BM.tileLayer.wms("http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r.cgi", {
layers: 'nexrad-n0r-900913',
format: 'image/png',
transparent: true,
attribution: "Weather data © 2012 IEM Nexrad"
});
创建
构造 | 描述 |
---|---|
BM.tileLayer.wms( <String> baseUrl, <TileLayer.WMS options>options) | 给定WMS服务的基本URL和WMS参数/选项对象,实例化WMS切片层对象。 |
选项
如果使用此处未记录的任何自定义选项,它们将作为每个请求URL中的额外参数发送到WMS服务器。这对于非标准供应商WMS参数非常有用 。
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
layers | String | '' | (必需)要显示的以逗号分隔的WMS图层列表。 |
styles | String | '' | 以逗号分隔的WMS样式列表。 |
format | String | 'image/jpeg' | WMS图像格式('image/png' 用于具有透明度的图层)。 |
transparent | Boolean | false | 如果true ,WMS服务将返回具有透明度的图像。 |
version | String | '1.1.1' | 要使用的WMS服务的版本 |
crs | CRS | null | 坐标参考系统用于WMS请求,默认为映射CRS。如果您不确定这意味着什么,请不要更改此项。 |
uppercase | Boolean | false | 如果true ,WMS请求参数键将为大写。 |
▶继承自TileLayer的选项
▶继承自GridLayer的选项
▶继承自Layer的选项
活动
▶从Layer继承的事件
▶从Layer继承的弹出事件
▶从Layer继承的工具提示事件
方法
方法 | 返回 | 描述 |
---|---|---|
setParams( <Object> params, <Boolean>noRedraw?) | this | 使用新参数合并对象并在当前屏幕上重新请求切片(除非 |
▶从TileLayer继承的方法
▶从GridLayer继承的方法
▶从Layer继承的方法
▶从Layer继承的Popup方法
▶继承自Layer的工具提示方法
▶从Evented继承的方法
ImageOverlay
用于在地图的特定边界上加载和显示单个图像。延伸Layer
。
用法示例
var imageUrl = 'http://www.lib.utexas.edu/maps/historical/newark_nj_1922.jpg',
imageBounds = [[40.712216, -74.22655], [40.773941, -74.12544]];
BM.imageOverlay(imageUrl, imageBounds).addTo(map);
创建
构造 | 描述 |
---|---|
BM.imageOverlay( <String> imageUrl, <LatLngBounds> bounds,<ImageOverlay options> options?) | 给定图像的URL及其所绑定的地理边界,以实例化图像叠加对象。 |
选项
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
opacity | Number | 1.0 | 图像叠加层的不透明度。 |
alt | String | '' | alt 图像属性的文本(对辅助功能非常有用)。 |
interactive | Boolean | false | 如果true ,图像叠加将在单击或悬停时发出鼠标事件。 |
crossOrigin | Boolean | false | 如果为true,则图像的crossOrigin属性设置为''。如果要访问图像像素数据,则需要这样做。 |
errorOverlayUrl | String | '' | 显示覆盖图像的URL,代替无法加载的叠加层。 |
zIndex | Number | 1 | 切片图层的显式zIndex。 |
className | String | '' | 要分配给图像的自定义类名。默认为空。 |
▶从交互层继承的选项
▶继承自Layer的选项
活动
事件 | 数据 | 描述 |
---|---|---|
load | Event | ImageOverlay图层加载其图像时触发 |
error | Event | ImageOverlay图层加载其图像时触发 |
▶从交互层继承的鼠标事件
▶从Layer继承的事件
▶从Layer继承的弹出事件
▶从Layer继承的工具提示事件
方法
方法 | 返回 | 描述 |
---|---|---|
setOpacity( <Number> opacity) | this | 设置叠加层的不透明度。 |
bringToFront() | this | 将图层置于所有叠加层的顶部。 |
bringToBack() | this | 将图层置于所有叠加层的底部。 |
setUrl( <String> url) | this | 更改图像的URL。 |
setBounds( <LatLngBounds> bounds) | this | 更新此ImageOverlay所涵盖的边界更改图像叠加层的zIndex。 |
getBounds() | LatLngBounds | 获取此ImageOverlay涵盖的范围 |
getElement() | HTMLElement | 返回 |
▶从Layer继承的方法
▶从Layer继承的Popup方法
▶继承自Layer的工具提示方法
▶从Evented继承的方法
VideoOverlay
用于在地图的特定边界上加载和显示视频播放器。延伸ImageOverlay
。视频叠加层使用<video>
HTML5元素。
用法示例
var videoUrl = 'https://www.mapbox.com/bites/00188/patricia_nasa.webm',
videoBounds = [[ 32, -130], [ 13, -100]];
BM.VideoOverlay(videoUrl, videoBounds ).addTo(map);
创建
构造 | 描述 |
---|---|
BM.videoOverlay( <String|Array|HTMLVideoElement> video, <LatLngBounds>bounds, <VideoOverlay options> options?) | 给定视频的URL(或URL数组,甚至视频元素)及其所绑定的地理边界,以实例化图像叠加对象。 |
选项
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
autoplay | Boolean | true | 视频是否在加载时自动开始播放。 |
loop | Boolean | true | 视频是否会在播放时循环回到开头。 |
▶继承自ImageOverlay的选项
▶从交互层继承的选项
▶继承自Layer的选项
活动
事件 | 数据 | 描述 |
---|---|---|
load | Event | 视频加载完第一帧后触发 |
▶从ImageOverlay继承的事件
▶从交互层继承的鼠标事件
▶从Layer继承的事件
▶从Layer继承的弹出事件
▶从Layer继承的工具提示事件
方法
方法 | 返回 | 描述 |
---|---|---|
getElement() | HTMLVideoElement | 返回 |
▶从ImageOverlay继承的方法
▶从Layer继承的方法
▶从Layer继承的Popup方法
▶继承自Layer的工具提示方法
▶从Evented继承的方法
路径
一个抽象类,包含矢量叠加(Polygon,Polyline,Circle)之间共享的选项和常量。不要直接使用它。延伸Layer
。
选项
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
stroke | Boolean | true | 是否沿路径绘制笔划。将其设置false 为禁用多边形或圆形的边框。 |
color | String | '#3388ff' | 中风颜色 |
weight | Number | 3 | 笔画宽度(以像素为单位) |
opacity | Number | 1.0 | 中风不透明度 |
lineCap | String | 'round' | 一个字符串,用于定义要在笔划结束时使用的形状。 |
lineJoin | String | 'round' | 一个字符串,用于定义要在笔触的角上使用的形状。 |
dashArray | String | null | 用于定义笔触虚线图案的字符串。Canvas 在某些旧浏览器中不适用于动态图层。 |
dashOffset | String | null | 一个字符串,用于定义到破折号模式的距离以启动破折号。Canvas 在某些旧浏览器中不适用于动态图层。 |
fill | Boolean | depends | 是否用颜色填充路径。将其设置false 为禁用填充多边形或圆形。 |
fillColor | String | * | 填色。默认为color 选项的值 |
fillOpacity | Number | 0.2 | 填充不透明度。 |
fillRule | String | 'evenodd' | 一个字符串,用于定义如何确定形状的内部。 |
bubblingMouseEvents | Boolean | true | 何时true ,此路径上的鼠标事件将在地图上触发相同的事件(除非BM.DomEvent.stopPropagation 使用)。 |
renderer | Renderer | 将此特定实例Renderer 用于此路径。优先于地图的默认渲染器。 | |
className | String | null | 在元素上设置自定义类名。仅适用于SVG渲染器。 |
▶从交互层继承的选项
▶继承自Layer的选项
活动
▶从交互层继承的鼠标事件
▶从Layer继承的事件
▶从Layer继承的弹出事件
▶从Layer继承的工具提示事件
方法
方法 | 返回 | 描述 |
---|---|---|
redraw() | this | 重绘图层。更改路径使用的坐标后,有时很有用。 |
setStyle( <Path options> style) | this | 根据 |
bringToFront() | this | 将图层置于所有路径图层的顶部。 |
bringToBack() | this | 将图层置于所有路径图层的底部。 |
▶从Layer继承的方法
▶从Layer继承的Popup方法
▶继承自Layer的工具提示方法
▶从Evented继承的方法
折线
用于在地图上绘制折线叠加层的类。延伸Path
。
用法示例
// create a red polyline from an array of LatLng points
var latlngs = [
[45.51, -122.68],
[37.77, -122.43],
[34.04, -118.2]
];
var polyline = BM.polyline(latlngs, {color: 'red'}).addTo(map);
// zoom the map to the polyline
map.fitBounds(polyline.getBounds());
您还可以传递多维数组来表示MultiPolyline
形状:
// create a red polyline from an array of arrays of LatLng points
var latlngs = [
[[45.51, -122.68],
[37.77, -122.43],
[34.04, -118.2]],
[[40.78, -73.91],
[41.83, -87.62],
[32.76, -96.72]]
];
创建
构造 | 描述 |
---|---|
BM.polyline( <LatLng[]> latlngs,<Polyline options> options?) | 在给定地理点数组和可选的选项对象的情况下实例化折线对象。您可以通过传递地理点数组的数组来创建Polyline 具有多个单独行(MultiPolyline )的对象。 |
选项
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
smoothFactor | Number | 1.0 | 在每个缩放级别上简化折线的程度。更多意味着更好的性能和更流畅的外观,更少意味着更准确的表示。 |
noClip | Boolean | false | 禁用折线剪裁。 |
▶继承自Path的选项
▶从交互层继承的选项
▶继承自Layer的选项
活动
▶从交互层继承的鼠标事件
▶从Layer继承的事件
▶从Layer继承的弹出事件
▶从Layer继承的工具提示事件
方法
方法 | 返回 | 描述 |
---|---|---|
toGeoJSON() | Object | 返回一个 |
getLatLngs() | LatLng[] | 返回路径中的点数组,或者在多折线的情况下返回嵌套的点数组。 |
setLatLngs(<LatLng[]> latlngs) | this | 用给定的地理点数组替换折线中的所有点。 |
isEmpty() | Boolean |
|
closestLayerPoint() | Point | 返回最接近 |
getCenter() | LatLng | 返回折线的中心(质心)。 |
getBounds() | LatLngBounds | 返回 |
addLatLng( <LatLng>latlng) | this | 将一个给定点添加到折线。默认情况下,在多折线的情况下添加到折线的第一个环,但可以通过将特定环作为LatLng数组(您可以在之前访问 |
▶从Path继承的方法
▶从Layer继承的方法
▶从Layer继承的Popup方法
▶继承自Layer的工具提示方法
▶从Evented继承的方法
多边形
用于在地图上绘制多边形叠加层的类。延伸Polyline
。请注意,创建多边形时传递的点不应该具有等于第一个点的额外最后一个点 - 最好过滤掉这些点。
用法示例
// create a red polygon from an array of LatLng points
var latlngs = [[37, -109.05],[41, -109.03],[41, -102.05],[37, -102.04]];
var polygon = BM.polygon(latlngs, {color: 'red'}).addTo(map);
// zoom the map to the polygon
map.fitBounds(polygon.getBounds());
您还可以传递一系列latlngs数组,第一个数组表示外部形状,另一个数组表示外部形状中的孔:
var latlngs = [
[[37, -109.05],[41, -109.03],[41, -102.05],[37, -102.04]], // outer ring
[[37.29, -108.58],[40.71, -108.58],[40.71, -102.50],[37.29, -102.50]] // hole
];
此外,您可以传递多维数组以表示MultiPolygon形状。
var latlngs = [
[ // first polygon
[[37, -109.05],[41, -109.03],[41, -102.05],[37, -102.04]], // outer ring
[[37.29, -108.58],[40.71, -108.58],[40.71, -102.50],[37.29, -102.50]] // hole
],
[ // second polygon
[[41, -111.03],[45, -111.04],[45, -104.05],[41, -104.05]]
]
];
创建
构造 | 描述 |
---|---|
BM.polygon( <LatLng[]> latlngs, <Polyline options> options?) |
选项
▶从Polyline继承的选项
▶继承自Path的选项
▶从交互层继承的选项
▶继承自Layer的选项
活动
▶从交互层继承的鼠标事件
▶从Layer继承的事件
▶从Layer继承的弹出事件
▶从Layer继承的工具提示事件
方法
方法 | 返回 | 描述 |
---|---|---|
toGeoJSON() | Object |
▶从Polyline继承的方法
▶从Path继承的方法
▶从Layer继承的方法
▶从Layer继承的Popup方法
▶继承自Layer的工具提示方法
▶从Evented继承的方法
长方形
用于在地图上绘制矩形叠加层的类。延伸Polygon
。
用法示例
// define rectangle geographical bounds
var bounds = [[54.559322, -5.767822], [56.1210604, -3.021240]];
// create an orange rectangle
BM.rectangle(bounds, {color: "#ff7800", weight: 1}).addTo(map);
// zoom the map to the rectangle bounds
map.fitBounds(bounds);
创建
构造 | 描述 |
---|---|
BM.rectangle( <LatLngBounds> latLngBounds, <Polyline options> options?) |
选项
▶从Polyline继承的选项
▶继承自Path的选项
▶从交互层继承的选项
▶继承自Layer的选项
活动
▶从交互层继承的鼠标事件
▶从Layer继承的事件
▶从Layer继承的弹出事件
▶从Layer继承的工具提示事件
方法
方法 | 返回 | 描述 |
---|---|---|
setBounds( <LatLngBounds> latLngBounds) | this | 使用传递的边界重绘矩形。 |
▶从Polygon继承的方法
▶从Polyline继承的方法
▶从Path继承的方法
▶从Layer继承的方法
▶从Layer继承的Popup方法
▶继承自Layer的工具提示方法
▶从Evented继承的方法
圈
用于在地图上绘制圆形叠加层的类。延伸CircleMarker
。这是一个近似值,并开始偏离靠近极点的真实圆(由于投影失真)。
用法示例
BM.circle([50.5, 30.5], {radius: 200}).addTo(map);
创建
构造 | 描述 |
---|---|
BM.circle( <LatLng> latlng, <Circle options> options?) | 实例化给定地理点的圆对象,以及包含圆半径的选项对象。 |
BM.circle( <LatLng> latlng, <Number> radius, <Circle options>options?) | 实例化圆圈的过时方式,与0.7.x代码兼容。不要在新的应用程序或插件中使用。 |
选项
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
radius | Number | 圆的半径,以米为单位。 |
▶继承自Path的选项
▶从交互层继承的选项
▶继承自Layer的选项
活动
▶从交互层继承的鼠标事件
▶从Layer继承的事件
▶从Layer继承的弹出事件
▶从Layer继承的工具提示事件
方法
方法 | 返回 | 描述 |
---|---|---|
setRadius( <Number> radius) | this | 设置圆的半径。单位是米。 |
getRadius() | Number | 返回圆的当前半径。单位是米。 |
getBounds() | LatLngBounds | 返回 |
▶继承自CircleMarker的方法
▶从Path继承的方法
▶从Layer继承的方法
▶从Layer继承的Popup方法
▶继承自Layer的工具提示方法
▶从Evented继承的方法
CircleMarker
一个固定大小的圆,半径以像素为单位指定。延伸Path
。
创建
构造 | 描述 |
---|---|
BM.circleMarker( <LatLng> latlng, <CircleMarker options> options?) | 给定地理点的实例化圆形标记对象,以及可选的选项对象。 |
选项
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
radius | Number | 10 | 圆形标记的半径,以像素为单位 |
▶继承自Path的选项
▶从交互层继承的选项
▶继承自Layer的选项
活动
▶从交互层继承的鼠标事件
▶从Layer继承的事件
▶从Layer继承的弹出事件
▶从Layer继承的工具提示事件
方法
方法 | 返回 | 描述 |
---|---|---|
toGeoJSON() | Object | |
setLatLng( <LatLng> latLng) | this | 将圆圈标记的位置设置为新位置。 |
getLatLng() | LatLng | 返回圆标记的当前地理位置 |
setRadius( <Number> radius) | this | 设置圆圈标记的半径。单位为像素。 |
getRadius() | Number | 返回圆的当前半径 |
▶从Path继承的方法
▶从Layer继承的方法
▶从Layer继承的Popup方法
▶继承自Layer的工具提示方法
▶从Evented继承的方法
SVG
虽然在IE7和IE8上没有SVG,但这些浏览器支持VML,在这种情况下SVG渲染器将回退到VML。VML在2012年已弃用,这意味着VML功能仅用于向后兼容旧版Internet Explorer。
允许使用SVG显示矢量图层。继承Renderer
。由于技术限制,SVG并非在所有Web浏览器中都可用,特别是Android 2.x和3.x. 虽然在IE7和IE8上没有SVG,但这些浏览器支持 VML (现已弃用的技术),在这种情况下SVG渲染器将回退到VML。
用法示例
默认情况下,对地图中的所有路径使用SVG:
var map = BM.map('map', {
renderer: BM.svg()
});
使用具有额外填充的SVG渲染器来处理特定的矢量几何:
var map = BM.map('map');
var myRenderer = BM.svg({ padding: 0.5 });
var line = BM.polyline( coordinates, { renderer: myRenderer } );
var circle = BM.circle( center, { renderer: myRenderer } );
创建
构造 | 描述 |
---|---|
BM.svg( <Renderer options> options?) | 使用给定选项创建SVG渲染器。 |
选项
▶继承自Renderer的选项
▶继承自Layer的选项
活动
▶从Renderer继承的事件
▶从Layer继承的事件
▶从Layer继承的弹出事件
▶从Layer继承的工具提示事件
方法
▶从Layer继承的方法
▶从Layer继承的Popup方法
▶继承自Layer的工具提示方法
▶从Evented继承的方法
功能
有几个静态函数可以在不实例化BM.SVG的情况下调用:
功能 | 返回 | 描述 |
---|---|---|
create( <String> name) | SVGElement | 返回SVGElement的实例,对应于传递的类名。例如,使用'line'将返回SVGLineElement的实例。 |
pointsToPath( <Point[]> rings, <Boolean>closed) | String | 为多个环生成SVG路径字符串,每个环变为“M..BM..L ..”指令 |
帆布
允许使用矢量图层显示<canvas>
。继承Renderer
。由于技术限制,Canvas并非在所有Web浏览器中都可用,尤其是IE8,并且在某些边缘情况下,重叠几何可能无法正确显示。
用法示例
默认情况下,对地图中的所有路径使用Canvas:
var map = BM.map('map', {
renderer: BM.canvas()
});
对于特定的矢量几何,请使用Canvas渲染器和额外的填充:
var map = BM.map('map');
var myRenderer = BM.canvas({ padding: 0.5 });
var line = BM.polyline( coordinates, { renderer: myRenderer } );
var circle = BM.circle( center, { renderer: myRenderer } );
创建
构造 | 描述 |
---|---|
BM.canvas( <Renderer options> options?) | 使用给定选项创建Canvas渲染器。 |
选项
▶继承自Renderer的选项
▶继承自Layer的选项
活动
▶从Renderer继承的事件
▶从Layer继承的事件
▶从Layer继承的弹出事件
▶从Layer继承的工具提示事件
方法
▶从Layer继承的方法
▶从Layer继承的Popup方法
▶继承自Layer的工具提示方法
▶从Evented继承的方法
图层组
用于将多个图层分组并将其作为一个图层处理。如果将其添加到地图中,则还会在地图上添加/删除从组中添加或删除的任何图层。延伸Layer
。
用法示例
BM.layerGroup([marker1, marker2])
.addLayer(polyline)
.addTo(map);
创建
构造 | 描述 |
---|---|
BM.layerGroup( <Layer[]> layers?, <Object> options?) | 创建一个图层组,可选地给出一组初始图层和一个options 对象。 |
选项
▶继承自Layer的选项
活动
▶从Layer继承的事件
▶从Layer继承的弹出事件
▶从Layer继承的工具提示事件
方法
方法 | 返回 | 描述 |
---|---|---|
toGeoJSON() | Object | 返回一个 |
addLayer( <Layer> layer) | this | 将给定图层添加到组中。 |
removeLayer( <Layer> layer) | this | 从组中删除给定的图层。 |
removeLayer( <Number> id) | this | 从组中删除具有给定内部ID的图层。 |
hasLayer( <Layer> layer) | Boolean | 返回 |
hasLayer( <Number> id) | Boolean | 返回 |
clearLayers() | this | 从组中删除所有图层。 |
invoke( <String> methodName, …) | this | 调用 |
eachLayer( <Function> fn, <Object>context?) | this | 迭代组的层,可选地指定迭代器函数的上下文。 |
getLayer( <Number> id) | Layer | 返回具有给定内部ID的图层。 |
getLayers() | Layer[] | 返回添加到组中的所有图层的数组。 |
setZIndex( <Number> zIndex) | this | 调用 |
getLayerId( <Layer> layer) | Number | 返回图层的内部ID |
▶从Layer继承的方法
▶从Layer继承的Popup方法
▶继承自Layer的工具提示方法
▶从Evented继承的方法
FeatureGroup
扩展LayerGroup
使得更容易对其所有成员层执行相同的操作:
bindPopup
一次将弹出窗口绑定到所有图层(同样如此bindTooltip
)- 事件传播到
FeatureGroup
,因此如果组具有事件处理程序,它将处理来自任何层的事件。这包括鼠标事件和自定义事件。 - 有
layeradd
和layerremove
事件
用法示例
BM.featureGroup([marker1, marker2, polyline])
.bindPopup('Hello world!')
.on('click', function() { alert('Clicked on a member of the group!'); })
.addTo(map);
创建
构造 | 描述 |
---|---|
BM.featureGroup( <Layer[]> layers) | 创建一个要素组,可选择为其提供一组初始图层。 |
选项
▶继承自Layer的选项
活动
事件 | 数据 | 描述 |
---|---|---|
layeradd | LayerEvent | 将图层添加到此时触发 FeatureGroup |
layerremove | LayerEvent | 从此处移除图层时触发 FeatureGroup |
▶从Layer继承的事件
▶从Layer继承的弹出事件
▶从Layer继承的工具提示事件
方法
方法 | 返回 | 描述 |
---|---|---|
setStyle( <Path options> style) | this | 将给定路径选项设置为具有 |
bringToFront() | this | 将图层组置于所有其他图层的顶部 |
bringToBack() | this | 将图层组带到所有其他图层的背面 |
getBounds() | LatLngBounds | 返回要素组的LatLngBounds(根据其子项的边界和坐标创建)。 |
▶从LayerGroup继承的方法
▶从Layer继承的方法
▶从Layer继承的Popup方法
▶继承自Layer的工具提示方法
▶从Evented继承的方法
以GeoJSON
表示GeoJSON对象或GeoJSON对象的数组。允许您解析GeoJSON数据并将其显示在地图上。延伸FeatureGroup
。
用法示例
BM.geoJSON(data, {
style: function (feature) {
return {color: feature.properties.color};
}
}).bindPopup(function (layer) {
return layer.feature.properties.description;
}).addTo(map);
创建
构造 | 描述 |
---|---|
BM.geoJSON( <Object> geojson?,<GeoJSON options> options?) | 创建GeoJSON图层。(可选)接受GeoJSON格式的对象以 在地图上显示(您可以稍后使用addData 方法添加它)和options 对象。 |
选项
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
pointToLayer | Function | * | 一个Function 定义点如何以GeoJSON产卵单张层。添加数据时会在内部调用它,并传递GeoJSON点功能及其功能LatLng 。默认是生成默认值Marker : |
style | Function | * | 甲Function 限定Path options 用于造型以GeoJSON线和多边形,在添加数据时内部调用。默认值是不覆盖任何默认值: |
onEachFeature | Function | * | 一个Function 创建的每个将被调用一次Feature 被创建和风格后,。用于将事件和弹出窗口附加到要素。默认情况下,对新创建的图层不执行任何操作: |
filter | Function | * | Function 将用于决定是否包含功能的A. 默认设置包括所有功能: 注意:动态更改 |
coordsToLatLng | Function | * | Function 用于将GeoJSON坐标转换为LatLng s的A. 默认值是coordsToLatLng 静态方法。 |
▶继承自Layer的选项
活动
▶从FeatureGroup继承的事件
▶从Layer继承的事件
▶从Layer继承的弹出事件
▶从Layer继承的工具提示事件
方法
方法 | 返回 | 描述 |
---|---|---|
addData(data) | this | 将GeoJSON对象添加到图层。 |
resetStyle(layer) | this | 将给定矢量图层的样式重置为原始GeoJSON样式,对于悬停事件后重置样式非常有用。 |
setStyle(style) | this | 使用给定的样式函数更改GeoJSON矢量图层的样式。 |
▶从FeatureGroup继承的方法
▶从LayerGroup继承的方法
▶从Layer继承的方法
▶从Layer继承的Popup方法
▶继承自Layer的工具提示方法
▶从Evented继承的方法
功能
有几个静态函数可以在不实例化BM.GeoJSON的情况下调用:
功能 | 返回 | 描述 |
---|---|---|
geometryToLayer( <Object> featureData,<GeoJSON options> options?) | Layer | Layer 从给定的GeoJSON功能创建一个。 如果作为选项提供,可以使用自定义pointToLayer 和/或coordsToLatLng 功能。 |
coordsToLatLng( <Array> coords) | LatLng | LatLng 从GeoJSON中用于点的2个数字(经度,纬度)或3个数字(经度,纬度,高度)的数组创建对象。 |
coordsToLatLngs( <Array> coords,<Number> levelsDeep?, <Function>coordsToLatLng?) | Array | LatLng 从GeoJSON坐标数组创建s 的多维数组。 levelsDeep 指定嵌套级别(0表示点数组,1表示点数组数组,等等,默认为0)。可以使用自定义coordsToLatLng 功能。 |
latLngToCoords( <LatLng> latlng,<Number> precision?) | Array | 逆转 coordsToLatLng |
latLngsToCoords( <Array> latlngs,<Number> levelsDeep?, <Boolean> closed?) | Array | 反向确定是否应将第一个点附加到数组的末尾以关闭该要素,仅在为0 时使用。默认为False。coordsToLatLngs closed levelsDeep |
asFeature( <Object> geojson) | Object | 将GeoJSON几何/特征规范化为GeoJSON特征。 |
GridLayer
用于处理HTML元素的平铺网格的通用类。这是所有切片图层和替换的基类TileLayer.Canvas
。GridLayer可以扩展为创建一个HTML元素的平铺网格,如<canvas>
,<img>
或<div>
。GridLayer将为您处理创建和动画这些DOM元素。
用法示例
同步使用
要创建自定义层,延长GridLayer和实施createTile()
方法,这将传递一个Point
对象和x
,y
和z
(缩放级别)坐标绘制的瓷砖。
var CanvasLayer = BM.GridLayer.extend({
createTile: function(coords){
// create a <canvas> element for drawing
var tile = BM.DomUtil.create('canvas', bm-tile');
// setup tile width and height according to the options
var size = this.getTileSize();
tile.width = size.x;
tile.height = size.y;
// get a canvas context and draw something on it using coords.x, coords.y and coords.z
var ctx = tile.getContext('2d');
// return the tile so it can be rendered on screen
return tile;
}
});
异步使用
平铺创建也可以是异步的,这在使用第三方绘图库时很有用。图块完成绘制后,可以将其传递给done()
回调。
var CanvasLayer = BM.GridLayer.extend({
createTile: function(coords, done){
var error;
// create a <canvas> element for drawing
var tile = BM.DomUtil.create('canvas', bm-tile');
// setup tile width and height according to the options
var size = this.getTileSize();
tile.width = size.x;
tile.height = size.y;
// draw something asynchronously and pass the tile to the done() callback
setTimeout(function() {
done(error, tile);
}, 1000);
return tile;
}
});
创建
构造 | 描述 |
---|---|
BM.gridLayer( <GridLayer options> options?) | 使用提供的选项创建GridLayer的新实例。 |
选项
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
tileSize | Number|Point | 256 | 网格中瓷砖的宽度和高度。如果宽度和高度相等,则使用数字,BM.point(width, height) 否则。 |
opacity | Number | 1.0 | 瓷砖的不透明度。可以在createTile() 函数中使用。 |
updateWhenIdle | Boolean | (depends) | 仅在平移结束时加载新图块。 true 默认情况下在移动浏览器上,以避免过多请求并保持平滑导航。 false 否则,为了在平移期间显示新的图块,因为keepBuffer 在桌面浏览器中很容易在该选项之外平移 。 |
updateWhenZooming | Boolean | true | 默认情况下,平滑缩放动画(在触摸缩放期间或a flyTo() )将每个整数缩放级别更新网格图层。将此选项设置为false 仅在平滑动画结束时才更新网格图层。 |
updateInterval | Number | 200 | updateInterval 平移时,平铺每毫秒不会更新一次。 |
zIndex | Number | 1 | 切片图层的显式zIndex。 |
bounds | LatLngBounds | undefined | 如果设置,则仅将瓷砖加载到集合中LatLngBounds 。 |
minZoom | Number | 0 | 显示此图层的最小缩放级别(包括)。 |
maxZoom | Number | undefined | 此图层将显示的最大缩放级别(包括)。 |
maxNativeZoom | Number | undefined | 磁贴源可用的最大缩放数。如果指定,则所有缩放级别以上的图块maxNativeZoom 将从maxNativeZoom 级别加载并自动缩放。 |
minNativeZoom | Number | undefined | 磁贴源可用的最小缩放编号。如果指定,则所有缩放级别以下的图块minNativeZoom 将从minNativeZoom 级别加载并自动缩放。 |
noWrap | Boolean | false | 该层是否包裹在antimeridian周围。如果true ,GridLayer只会以低缩放级别显示一次。当地图CRS没有环绕时没有效果。可与之配合使用bounds 防止请求超出CRS限制的磁贴。 |
pane | String | 'tilePane' | Map pane 将添加网格图层的位置。 |
className | String | '' | 要分配给切片图层的自定义类名。默认为空。 |
keepBuffer | Number | 2 | 平移地图时,请在卸载之前保留此许多行和列的切片。 |
▶继承自Layer的选项
活动
事件 | 数据 | 描述 |
---|---|---|
loading | Event | 网格图层开始加载图块时触发。 |
tileunload | TileEvent | 在移除瓷砖时触发(例如,当瓷砖离开屏幕时)。 |
tileloadstart | TileEvent | 请求磁贴并在开始加载时触发。 |
tileerror | TileErrorEvent | 加载磁贴时出错。 |
tileload | TileEvent | 当瓷砖加载时触发。 |
load | Event | 当网格图层加载所有可见的图块时触发。 |
▶从Layer继承的事件
▶从Layer继承的弹出事件
▶从Layer继承的工具提示事件
方法
方法 | 返回 | 描述 |
---|---|---|
bringToFront() | this | 将切片图层置于所有切片图层的顶部。 |
bringToBack() | this | 将切片图层置于所有切片图层的底部。 |
getContainer() | HTMLElement | 返回包含此图层的切片的HTML元素。 |
setOpacity( <Number> opacity) | this | 更改网格图层的不透明度。 |
setZIndex( <Number> zIndex) | this | 更改网格图层的zIndex。 |
isLoading() | Boolean | 返回 |
redraw() | this | 使图层清除所有图块并再次请求它们。 |
getTileSize() | Point | 将tileSize选项规范化为一个点。由 |
扩展方法
延伸层GridLayer
应重新实施以下方法。
方法 | 返回 | 描述 |
---|---|---|
createTile( <Object>coords, <Function> done?) | HTMLElement | 仅在内部调用,必须由扩展的类重写 |
▶从Layer继承的方法
▶从Layer继承的Popup方法
▶继承自Layer的工具提示方法
▶从Evented继承的方法
经纬度
表示具有一定纬度和经度的地理点。
用法示例
var latlng = BM.latLng(50.5, 30.5);
接受LatLng对象的所bm方法也以简单的Array形式和简单的对象形式接受它们(除非另有说明),因此这些行是等效的:
map.panTo([50, 30]);
map.panTo({lon: 30, lat: 50});
map.panTo({lat: 50, lng: 30});
map.panTo(BM.latLng(50, 30));
请注意,LatLng
不会从BM的Class
对象继承,这意味着新类不能从它继承,并且无法使用该include
函数向其添加新方法。
创建
构造 | 描述 |
---|---|
BM.latLng( <Number> latitude, <Number> longitude,<Number> altitude?) | 创建表示具有给定纬度和经度(以及可选的高度)的地理点的对象。 |
BM.latLng( <Array> coords) | 期待一个表格[Number, Number] 或[Number, Number, Number] 相反的数组。 |
BM.latLng( <Object> coords) | 期待表格的简单对象{lat: Number, lng: Number} 或{lat: Number, lng: Number, alt: Number} 替代。 |
方法
方法 | 返回 | 描述 |
---|---|---|
equals( <LatLng> otherLatLng,<Number> maxMargin?) | Boolean | 返回 |
toString() | String | 返回该点的字符串表示形式(用于调试目的)。 |
distanceTo( <LatLng> otherLatLng) | Number | |
wrap() | LatLng | 返回 |
toBounds( <Number> sizeInMeters) | LatLngBounds | 返回一个新 |
属性
属性 | 类型 | 描述 |
---|---|---|
lat | Number | 纬度度 |
lng | Number | 经度度 |
alt | Number | 海拔高度(米)(可选) |
的LatLngBounds
表示地图上的矩形地理区域。
用法示例
var corner1 = BM.latLng(40.712, -74.227),
corner2 = BM.latLng(40.774, -74.125),
bounds = BM.latLngBounds(corner1, corner2);
接受LatLngBounds对象的所bm方法也以简单的Array形式接受它们(除非另有说明),因此上面的bounds示例可以像这样传递:
map.fitBounds([
[40.712, -74.227],
[40.774, -74.125]
]);
注意:如果区域穿过反射(通常与国际日期线混淆),则必须指定[-180,180]度经度范围之外的角。请注意,LatLngBounds
不会从BM的Class
对象继承,这意味着新类不能从它继承,并且无法使用该include
函数向其添加新方法。
创建
构造 | 描述 |
---|---|
BM.latLngBounds( <LatLng> corner1, <LatLng>corner2) | LatLngBounds 通过定义矩形的两个对角相对的角来创建对象。 |
BM.latLngBounds( <LatLng[]> latlngs) | 创建LatLngBounds 由其包含的地理点定义的对象。对于缩放地图以适合特定的一组位置非常有用fitBounds 。 |
方法
方法 | 返回 | 描述 |
---|---|---|
extend( <LatLng> latlng) | this | 扩展边界以包含给定点 |
extend( <LatLngBounds>otherBounds) | this | 扩展边界以包含给定的边界 |
pad( <Number> bufferRatio) | LatLngBounds | 返回通过在每个方向上按给定比率扩展或缩回当前边界而创建的边界。例如,0.5的比率在每个方向上将边界扩展50%。负值将收回边界。 |
getCenter() | LatLng | 返回边界的中心点。 |
getSouthWest() | LatLng | 返回边界的西南点。 |
getNorthEast() | LatLng | 返回边界的东北点。 |
getNorthWest() | LatLng | 返回边界的西北点。 |
getSouthEast() | LatLng | 返回边界的东南点。 |
getWest() | Number | 返回边界的西经度 |
getSouth() | Number | 返回边界的南纬 |
getEast() | Number | 返回边界的东经度 |
getNorth() | Number | 返回边界的北纬 |
contains( <LatLngBounds>otherBounds) | Boolean |
|
contains( <LatLng> latlng) | Boolean |
|
intersects( <LatLngBounds>otherBounds) | Boolean |
|
overlaps( <Bounds> otherBounds) | Boolean |
|
toBBoxString() | String | 返回带有'southwest_lng,southwest_lat,northeast_lng,northeast_lat'格式的边界框坐标的字符串。用于向返回地理数据的Web服务发送请求。 |
equals( <LatLngBounds>otherBounds, <Number> maxMargin?) | Boolean | 返回 |
isValid() | Boolean |
|
点
表示带有x
和y
以像素为单位的坐标的点。
用法示例
var point = BM.point(200, 300);
接受Point
对象的所bm方法和选项也以简单的Array形式接受它们(除非另有说明),因此这些行是等效的:
map.panBy([200, 300]);
map.panBy(BM.point(200, 300));
请注意,Point
不会从BM的Class
对象继承,这意味着新类不能从它继承,并且无法使用该include
函数向其添加新方法。
创建
构造 | 描述 |
---|---|
BM.point( <Number> x, <Number> y, <Boolean>round?) | 使用给定x 和y 坐标创建Point对象。如果optional round 设置为true,则舍入x 和y 值。 |
BM.point( <Number[]> coords) | 期待一个表格的数组[x, y] 。 |
BM.point( <Object> coords) | 期待表格的普通对象{x: Number, y: Number} 。 |
方法
方法 | 返回 | 描述 |
---|---|---|
clone() | Point | 返回当前点的副本。 |
add( <Point> otherPoint) | Point | 返回当前和给定点的相加结果。 |
subtract( <Point>otherPoint) | Point | 返回从当前减去给定点的结果。 |
divideBy( <Number> num) | Point | 返回当前点除以给定数字的结果。 |
multiplyBy( <Number> num) | Point | 返回当前点乘以给定数字的结果。 |
scaleBy( <Point> scale) | Point | 将当前点的每个坐标乘以每个坐标 |
unscaleBy( <Point> scale) | Point | 逆的 |
round() | Point | 返回带圆角坐标的当前点的副本。 |
floor() | Point | 返回带有地板坐标(向下舍入)的当前点的副本。 |
ceil() | Point | 返回带有ceiled坐标的当前点的副本(向上舍入)。 |
trunc() | Point | 返回带有截断坐标的当前点的副本(向零舍入)。 |
distanceTo( <Point>otherPoint) | Number | 返回当前点和给定点之间的笛卡尔距离。 |
equals( <Point> otherPoint) | Boolean |
|
contains( <Point>otherPoint) | Boolean | 返回 |
toString() | String | 返回该点的字符串表示形式以进行调试。 |
属性
属性 | 类型 | 描述 |
---|---|---|
x | Number | x 点的坐标 |
y | Number | y 点的坐标 |
边界
表示像素坐标中的矩形区域。
用法示例
var p1 = BM.point(10, 10),
p2 = BM.point(40, 60),
bounds = BM.bounds(p1, p2);
接受Bounds
对象的所bm方法也以简单的Array形式接受它们(除非另有说明),因此上面的bounds示例可以像这样传递:
otherBounds.intersects([[10, 10], [40, 60]]);
请注意,Bounds
不会从BM的Class
对象继承,这意味着新类不能从它继承,并且无法使用该include
函数向其添加新方法。
创建
构造 | 描述 |
---|---|
BM.bounds( <Point> corner1, <Point> corner2) | 从两个角坐标对创建一个Bounds对象。 |
BM.bounds( <Point[]> points) | 从给定的点数组创建Bounds对象。 |
方法
方法 | 返回 | 描述 |
---|---|---|
extend( <Point> point) | this | 扩展边界以包含给定点。 |
getCenter( <Boolean> round?) | Point | 返回边界的中心点。 |
getBottomLeft() | Point | 返回边界的左下角。 |
getTopRight() | Point | 返回边界的右上角。 |
getTopLeft() | Point | 返回边界的左上角(即 |
getBottomRight() | Point | 返回边界的右下角(即 |
getSize() | Point | 返回给定边界的大小 |
contains( <Bounds> otherBounds) | Boolean |
|
contains( <Point> point) | Boolean |
|
intersects( <Bounds>otherBounds) | Boolean |
|
overlaps( <Bounds> otherBounds) | Boolean |
|
属性
属性 | 类型 | 描述 |
---|---|---|
min | Point | 矩形的左上角。 |
max | Point | 矩形的右下角。 |
图标
表示创建标记时要提供的图标。
用法示例
var myIcon = BM.icon({
iconUrl: 'my-icon.png',
iconSize: [38, 95],
iconAnchor: [22, 94],
popupAnchor: [-3, -76],
shadowUrl: 'my-icon-shadow.png',
shadowSize: [68, 95],
shadowAnchor: [22, 94]
});
BM.marker([50.505, 30.57], {icon: myIcon}).addTo(map);
BM.Icon.Default
extends BM.Icon
,bm默认用于标记的蓝色图标。
创建
构造 | 描述 |
---|---|
BM.icon( <Icon options> options) | 使用给定选项创建图标实例。 |
选项
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
iconUrl | String | null | (必需)图标图像的URL(绝对或相对于脚本路径)。 |
iconRetinaUrl | String | null | 视网膜大小的图标图像版本的URL(绝对或相对于您的脚本路径)。用于Retina屏幕设备。 |
iconSize | Point | null | 图标图像的大小(以像素为单位)。 |
iconAnchor | Point | null | 图标“尖端”的坐标(相对于其左上角)。图标将对齐,以使此点位于标记的地理位置。如果指定了size,则默认居中,也可以在具有负边距的CSS中设置。 |
popupAnchor | Point | [0, 0] | 弹出窗口相对于图标锚点“打开”的点的坐标。 |
tooltipAnchor | Point | [0, 0] | 相对于图标锚点,工具提示将“打开”的点的坐标。 |
shadowUrl | String | null | 图标阴影图像的URL。如果未指定,则不会创建阴影图像。 |
shadowRetinaUrl | String | null | |
shadowSize | Point | null | 阴影图像的大小(以像素为单位)。 |
shadowAnchor | Point | null | 阴影“尖端”的坐标(相对于其左上角)(如果未指定,则与iconAnchor相同)。 |
className | String | '' | 要分配给图标和阴影图像的自定义类名。默认为空。 |
方法
方法 | 返回 | 描述 |
---|---|---|
createIcon( <HTMLElement> oldIcon?) | HTMLElement | 在必须显示图标时在内部调用,返回 |
createShadow( <HTMLElement> oldIcon?) | HTMLElement | 作为 |
Icon.Default
一个简单的子类Icon
,表示Marker
当没有指定图标时在s中使用的图标。指向bm版本一起分发的蓝色标记图像。要自定义默认图标,只需更改BM.Icon.Default.prototype.options
(一组Icon options
)的属性。如果要完全替换默认图标, BM.Marker.prototype.options.icon
请改为使用您自己的图标。
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
imagePath | String | Icon.Default 将尝试自动检测蓝色图标图像的位置。如果要以非标准方式放置这些图像,请将此选项设置为指向正确的路径。 |
DivIcon
通过可以定义<div>
来设置图形标记(如iconfont),相比Icon
省去了iconUrl
状语从句:阴影配置。
使用示例
var myIcon = BM.divIcon({className: 'my-div-icon'});
// you can set .my-div-icon styles in CSS
BM.marker([50.505, 30.57], {icon: myIcon}).addTo(map);
默认情况下,Class为bm-div-icon',一个带有有阴影的白色小正方形。
创建
方法 | 描述 |
---|---|
BM.divIcon( <DivIcon options> options) | 一个创建³³新的DivIcon 并配置。 |
配置
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
html | String | '' | 自定义HTML元素,默为未空 |
bgPos | Point | [0, 0] | 设置背景相对位置(单位px) |
▶从图标继承的配置
方法
▶从图标继承的方法
Control.Zoom
带有两个按钮的基本变焦控制(放大和缩小)。默认情况下,它会放在地图上,除非您将其zoomControl
选项设置为false
。延伸Control
。
创建
构造 | 描述 |
---|---|
BM.control.zoom( <Control.Zoom options> options) | 创建缩放控件 |
选项
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
zoomInText | String | '+' | “放大”按钮上设置的文字。 |
zoomInTitle | String | 'Zoom in' | 标题设置在“放大”按钮上。 |
zoomOutText | String | '− | ''缩小'按钮上设置的文字。 |
zoomOutTitle | String | 'Zoom out' | 标题设置在“缩小”按钮上。 |
▶继承自Control的选项
方法
▶从Control继承的方法
Control.Attribution
归因控件允许您在地图上的小文本框中显示归因数据。默认情况下,它会放在地图上,除非您将其attributionControl
选项设置为false
,并且它会自动使用该getAttribution
方法从图层中提取属性文本。扩展控制。
创建
构造 | 描述 |
---|---|
BM.control.attribution( <Control.Attribution options> options) | 创建归因控件。 |
选项
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
prefix | String | bm | 在属性之前显示的HTML文本。通过false 禁用。 |
▶继承自Control的选项
方法
方法 | 返回 | 描述 |
---|---|---|
setPrefix( <String> prefix) | this | 设置属性之前的文本。 |
addAttribution( <String> text) | this | 添加归因文本(例如 |
removeAttribution( <String> text) | this | 删除归因文字。 |
▶从Control继承的方法
Control.Layers
图层控件使用户能够在不同的基础层之间切换并打开/关闭覆盖图(查看详细示例)。延伸Control
。
用法示例
var baseLayers = {
"Mapbox": mapbox,
"OpenStreetMap": osm
};
var overlays = {
"Marker": marker,
"Roads": roadsLayer
};
BM.control.layers(baseLayers, overlays).addTo(map);
的baseLayers
和overlays
参数是对象常量与层名作为密钥和Layer
对象作为值:
{
"<someName1>": layer1,
"<someName2>": layer2
}
图层名称可以包含HTML,允许您为项目添加其他样式:
{"<img src='my-layer-icon' /> <span class='my-layer-item'>My Layer</span>": myLayer}
创建
构造 | 描述 |
---|---|
BM.control.layers( <Object> baselayers?,<Object> overlays?, <Control.Layers options>options?) | 使用给定图层创建归因控件。基础层将使用单选按钮切换,而叠加将使用复选框切换。请注意,所有基础图层都应在基础图层对象中传递,但在地图实例化期间只应将一个基础图层添加到地图中。 |
选项
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
collapsed | Boolean | true | 如果true ,控件将折叠为图标并在鼠标悬停或触摸时展开。 |
autoZIndex | Boolean | true | 如果true ,控件将zIndexes按递增顺序分配给其所有图层,以便在打开/关闭它们时保留顺序。 |
hideSingleBase | Boolean | false | 如果true ,只有一个控件中的基础图层将被隐藏。 |
sortLayers | Boolean | false | 是否对图层进行排序。何时false ,图层将保持它们添加到控件的顺序。 |
sortFunction | Function | * | 甲比较功能 将被用于排序所述层,当sortLayers 是true 。该函数接收BM.Layer 实例及其名称,如 sortFunction(layerA, layerB, nameA, nameB) 。默认情况下,它按名称的字母顺序对图层进行排序。 |
▶继承自Control的选项
方法
方法 | 返回 | 描述 |
---|---|---|
addBaseLayer( <Layer> layer, <String> name) | this | 向控件添加具有给定名称的基础图层(单选按钮条目)。 |
addOverlay( <Layer> layer, <String> name) | this | 向控件添加具有给定名称的叠加层(复选框条目)。 |
removeLayer( <Layer> layer) | this | 从控件中删除给定的图层。 |
expand() | this | 如果折叠,则展开控件容器。 |
collapse() | this | 如果展开,则折叠控件容器。 |
▶从Control继承的方法
Control.Scale
一个简单的比例控制,以公制(m / km)和英制(mi / ft)系统显示当前屏幕中心的比例。延伸Control
。
用法示例
BM.control.scale().addTo(map);
创建
构造 | 描述 |
---|---|
BM.control.scale( <Control.Scale options> options?) | 使用给定选项创建缩放控件。 |
选项
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
maxWidth | Number | 100 | 控件的最大宽度(以像素为单位)。动态设置宽度以显示圆值(例如100,200,500)。 |
metric | Boolean | True | 是否显示公制刻度线(m / km)。 |
imperial | Boolean | True | 是否显示英制刻度线(mi / ft)。 |
updateWhenIdle | Boolean | false | 如果true ,控件更新moveend ,否则它始终是最新的(更新move )。 |
▶继承自Control的选项
方法
▶从Control继承的方法
浏览器
用法示例
if (BM.Browser.ielt9) {
alert('Upgrade your browser, dude!');
}
属性
属性 | 类型 | 描述 |
---|---|---|
ie | Boolean | true 适用于所有Internet Explorer版本(不是Edge)。 |
ielt9 | Boolean | true 适用于小于9的Internet Explorer版本。 |
edge | Boolean | true 用于Edge Web浏览器。 |
webkit | Boolean | true 适用于基于webkit的浏览器,如Chrome和Safari(包括移动版)。 |
android | Boolean | true 适用于在Android平台上运行的任何浏览器。 |
android23 | Boolean | true 适用于在Android 2或Android 3上运行的浏览器。 |
androidStock | Boolean | true 对于Android股票浏览器(即不是Chrome) |
opera | Boolean | true 对于Opera浏览器 |
chrome | Boolean | true 对于Chrome浏览器。 |
gecko | Boolean | true 用于基于gecko的浏览器,如Firefox。 |
safari | Boolean | true 用于Safari浏览器。 |
opera12 | Boolean | true 支持CSS转换的Opera浏览器(版本12或更高版本)。 |
win | Boolean | true 当浏览器在Windows平台上运行时 |
ie3d | Boolean | true 适用于支持CSS转换的所有Internet Explorer版本。 |
webkit3d | Boolean | true 用于支持CSS转换的基于webkit的浏览器。 |
gecko3d | Boolean | true 用于支持CSS转换的基于gecko的浏览器。 |
any3d | Boolean | true 适用于支持CSS转换的所有浏览器。 |
mobile | Boolean | true 适用于在移动设备上运行的所有浏览器。 |
mobileWebkit | Boolean | true 适用于移动设备中所有基于webkit的浏览器。 |
mobileWebkit3d | Boolean | true 适用于支持CSS转换的移动设备中所有基于webkit的浏览器。 |
msPointer | Boolean | true 用于实现Microsoft触摸事件模型的浏览器(特别是IE10)。 |
pointer | Boolean | true 支持指针事件的所有浏览器。 |
touch | Boolean | true 支持所有浏览器的触摸事件。这并不一定意味着浏览器在带触摸屏的计算机上运行,这只意味着浏览器能够理解触摸事件。 |
mobileOpera | Boolean | true 用于移动设备中的Opera浏览器。 |
mobileGecko | Boolean | true 用于在移动设备中运行的基于gecko的浏览器。 |
retina | Boolean | true 适用于高分辨率“视网膜”屏幕上的浏览器。 |
canvas | Boolean | true 当浏览器支持时<canvas> 。 |
svg | Boolean | true 当浏览器支持SVG时。 |
vml | Boolean | true 如果浏览器支持VML。 |
UTIL
功能
功能 | 返回 | 描述 |
---|---|---|
extend( <Object> dest,<Object> src?) | Object | 将src 对象(或多个对象)的属性合并到dest 对象中并返回后者。有BM.extend 捷径。 |
create( <Object> proto,<Object> properties?) | Object | Object.create的兼容性polyfill |
bind( <Function> fn, …) | Function | 返回绑定到传递的参数的新函数,如Function.prototype.bind。有BM.bind() 捷径。 |
stamp( <Object> obj) | Number | 返回对象的唯一ID,如果没有它,则指定一个对象。 |
throttle( <Function> fn,<Number> time, <Object>context) | Function | 返回一个执行fn 具有给定范围的函数的函数context (以便this 关键字引用context 内部fn 的代码)。fn 每个给定量的函数 调用的次数不会超过一次time 。绑定函数接收的参数将是绑定函数时传递的任何参数,后跟调用绑定函数时传递的任何参数。有BM.throttle 捷径。 |
wrapNum( <Number> num,<Number[]> range,<Boolean> includeMax?) | Number | 以这样的方式返回num 模数range ,使其位于 range[0] 和中range[1] 。返回值将始终小于range[1] 除非includeMax 设置为true 。 |
falseFn() | Function | 返回一个总是返回的函数false 。 |
formatNum( <Number> num,<Number> digits?) | Number | 返回num 舍入为digits 小数的数字,或默认返回6位小数。 |
trim( <String> str) | String | String.prototype.trim的兼容性polyfill |
splitWords( <String> str) | String[] | 修剪并拆分空格上的字符串并返回部件数组。 |
setOptions( <Object> obj,<Object> options) | Object | 合并给定的属性添加到options 了的obj 对象,返回结果的选项。见Class options 。有BM.setOptions 捷径。 |
getParamString( <Object>obj, <String>existingUrl?, <Boolean>uppercase?) | String | 将对象转换为参数URL字符串,例如{a: "foo", b: "bar"} 转换为'?a=foo&b=bar' 。如果existingUrl 设置,则参数将在末尾附加。如果uppercase 是true ,参数名称将为大写(例如'?A=foo&B=bar' ) |
template( <String> str,<Object> data) | String | 简单的模板工具,接受表单的模板字符串'Hello {a}, {b}' 和数据对象{a: 'foo', b: 'bar'} ,返回计算字符串 ('Hello foo, bar') 。您还可以为数据值指定函数而不是字符串 - 它们将data 作为参数传递。 |
isArray(obj) | Boolean | Array.isArray的兼容性polyfill |
indexOf( <Array> array,<Object> el) | Number | Array.prototype.indexOf的兼容性polyfill |
requestAnimFrame(<Function> fn, <Object>context?, <Boolean>immediate?) | Number | fn 浏览器重新绘制时要执行的计划。如果有的话,这fn 是必然的 context 。当immediate 设置,fn 则如果浏览器不具备原生支持立即打电话 window.requestAnimationFrame ,否则就延迟了。返回可用于取消请求的请求ID。 |
cancelAnimFrame( <Number>id) | undefined | 取消之前的requestAnimFrame 。另请参见window.cancelAnimationFrame。 |
属性
属性 | 类型 | 描述 |
---|---|---|
lastId | Number | 最后使用的唯一ID stamp() |
emptyImageUrl | String | 包含base64编码的空GIF图像的数据URI字符串。用作黑客,以便从WebKit驱动的移动设备上的未使用图像中释放内存(通过将图像设置src 为此字符串)。 |
转型
代表仿射变换:一组系数a
,b
,c
,d
转化形式的点(x, y)
进(a*x + b, c*y + d)
,做相反。bm在其投影代码中使用。
用法示例
var transformation = BM.transformation(2, 5, -1, 10),
p = BM.point(1, 2),
p2 = transformation.transform(p), // BM.point(7, 8)
p3 = transformation.untransform(p2); // BM.point(1, 2)
创建
构造 | 描述 |
---|---|
BM.transformation( <Number> a, <Number> b, <Number> c,<Number> d) | 使用给定系数实例化Transformation对象。 |
BM.transformation( <Array> coefficients) | 期望表单的系数数组 [a: Number, b: Number, c: Number, d: Number] 。 |
方法
方法 | 返回 | 描述 |
---|---|---|
transform( <Point> point, <Number>scale?) | Point | 返回一个转换点,可选地乘以给定的比例。仅接受实际 |
untransform( <Point> point, <Number>scale?) | Point | 返回给定点的反向变换,可选地除以给定的比例。仅接受实际 |
LineUtil
用于折线点处理的各种实用程序函数,bm在内部用于使折线快速闪烁。
功能
功能 | 返回 | 描述 |
---|---|---|
simplify( <Point[]> points,<Number> tolerance) | Point[] | 使用Douglas-Peucker算法,在保持其形状的同时显着减少折线中的点数并返回一个新的简化点阵列 。用于处理/显示每个缩放级别bm折线并且还降低视觉噪声时的巨大性能提升。容差会影响简化量(较小的值意味着更高的质量,但速度更慢,点数更多)。也作为分离的微库Simplify.js发布。 |
pointToSegmentDistance(<Point> p, <Point> p1, <Point>p2) | Number | 返回点之间的距离p 和段p1 来p2 。 |
closestPointOnSegment(<Point> p, <Point> p1, <Point>p2) | Number | 返回从一个点的最近点p 上的段p1 来p2 。 |
clipSegment( <Point> a,<Point> b, <Bounds> bounds,<Boolean> useLastCode?,<Boolean> round?) | Point[]|Boolean | 使用Cohen-Sutherland算法通过矩形边界剪切片段a到b (直接修改片段点!)。 |
isFlat( <LatLng[]> latlngs) | Boolean | 如果latlngs 是平面数组,则返回true ,嵌套为false。 |
PolyUtil
多边形几何的各种实用函数。
功能
功能 | 返回 | 描述 |
---|---|---|
clipPolygon( <Point[]> points,<Bounds> bounds, <Boolean> round?) | Point[] | 剪切由给points 定边界定义的多边形几何体(使用Sutherland-Hodgman算法)。请注意,多边形点需要不同的裁剪算法而不是折线,因此有一个单独的方法。 |
DomEvent
实用程序函数用于处理的DOM事件。
功能
功能 | 返回 | 描述 |
---|---|---|
on( <HTMLElement> el, <String>types, <Function> fn, <Object>context?) | this | 将侦听器函数(fn )添加到元素的特定DOM事件类型el 。您可以选择指定侦听器的上下文(this 关键字将指向的对象)。您还可以传递多个以空格分隔的类型(例如'click dblclick' )。 |
on( <HTMLElement> el, <Object>eventMap, <Object> context?) | this | 添加一组类型/侦听器对,例如 {click: onClick, mousemove: onMouseMove} |
off( <HTMLElement> el, <String>types, <Function> fn, <Object>context?) | this | 删除以前添加的侦听器功能。请注意,如果将自定义上下文传递给on,则必须传递相同的上下文off 才能删除侦听器。 |
off( <HTMLElement> el, <Object>eventMap, <Object> context?) | this | 删除一组类型/侦听器对,例如 {click: onClick, mousemove: onMouseMove} |
stopPropagation( <DOMEvent> ev) | this | 停止给定事件传播到父元素。在侦听器函数中使用: |
disableScrollPropagation(<HTMLElement> el) | this | 添加stopPropagation 到元素的'mousewheel' 事件(以及浏览器变体)。 |
disableClickPropagation(<HTMLElement> el) | this | 添加stopPropagation 到元素的'click' ,'doubleclick' ,'mousedown' 和'touchstart' 事件(加上浏览器变种)。 |
preventDefault( <DOMEvent> ev) | this | 阻止DOM事件的默认操作ev 发生(例如,跟随a元素的href中的链接,或者在<form> 提交a时执行带有页面重新加载的POST请求)。在侦听器函数中使用它。 |
stop( <DOMEvent> ev) | this | 是stopPropagation 和preventDefault 同时。 |
getMousePosition( <DOMEvent> ev,<HTMLElement> container?) | Point | container 如果未指定,则从DOM事件相对于整个页面获取标准化的鼠标位置 。 |
getWheelDelta( <DOMEvent> ev) | Number | 从鼠标滚轮DOM事件获取标准化的轮增量,以垂直像素滚动(如果向下滚动则为负)。来自没有精确滚动的指点设备的事件被映射到60像素的最佳猜测。 |
addListener(…) | this | 别名来 BM.DomEvent.on |
removeListener(…) | this | 别名来 BM.DomEvent.off |
DomUtil
实用程序函数与DOM 树一起使用,bm在内部使用。期望或返回的大多数函数HTMLElement
也适用于SVG元素。唯一的区别是类引用了SVG中的CSS类和SVG中的SVG类。
功能
功能 | 返回 | 描述 |
---|---|---|
get( <String|HTMLElement> id) | HTMLElement | 返回给定其DOM id的元素,如果直接传递则返回元素本身。 |
getStyle( <HTMLElement> el,<String> styleAttrib) | String | 返回元素上某个样式属性的值,包括计算值或通过CSS设置的值。 |
create( <String> tagName, <String>className?, <HTMLElement>container?) | HTMLElement | 创建一个HTML元素tagName ,将其类设置为className ,并可选择将其附加到container 元素。 |
remove( <HTMLElement> el) | el 从其父元素中删除 | |
empty( <HTMLElement> el) | 删除所有el 的子元素el | |
toFront( <HTMLElement> el) | 制作el 其父级的最后一个子级,因此它在其他子级之前呈现。 | |
toBack( <HTMLElement> el) | 使el 其父元素的第一个子元素成为其他子元素的后代。 | |
hasClass( <HTMLElement> el,<String> name) | Boolean | 返回true 元素的class属性是否包含name 。 |
addClass( <HTMLElement> el,<String> name) | 添加name 到元素的class属性。 | |
removeClass( <HTMLElement> el,<String> name) | name 从元素的class属性中删除。 | |
setClass( <HTMLElement> el,<String> name) | 设置元素的类。 | |
getClass( <HTMLElement> el) | String | 返回元素的类。 |
setOpacity( <HTMLElement> el,<Number> opacity) | 设置元素的不透明度(包括旧的IE支持)。 opacity 必须从数量0 到1 。 | |
testProp( <String[]> props) | String|false | 遍历样式名称数组并返回第一个名称,该名称是元素的有效样式名称。如果找不到这样的名称,则返回false。对于像transform 。这样的供应商前缀样式很有用。 |
setTransform( <HTMLElement> el,<Point> offset, <Number> scale?) | 重置3D CSS变换,el 使其按offset 像素平移,并可选择按比例缩放scale 。如果浏览器不支持3D CSS变换,则无效。 | |
setPosition( <HTMLElement> el,<Point> position) | 设置el 指定坐标的位置position ,使用CSS平移或顶部/左侧定位,具体取决于浏览器bm内部用于定位其图层)。 | |
getPosition( <HTMLElement> el) | Point | 返回先前使用setPosition定位的元素的坐标。 |
disableTextSelection() | 阻止用户生成selectstart DOM事件,通常在用户将鼠标拖动到带有文本的页面时生成。bm在内部使用,以覆盖地图上任何单击和拖动交互的行为。影响整个文档的拖动交互。 | |
enableTextSelection() | 取消之前的效果BM.DomUtil.disableTextSelection 。 | |
disableImageDrag() | 如BM.DomUtil.disableTextSelection ,但对于dragstart DOM事件,通常当用户拖动的图像生成。 | |
enableImageDrag() | 取消之前的效果BM.DomUtil.disableImageDrag 。 | |
preventOutline( <HTMLElement> el) | 使 元素的轮廓el 不可见。bm内部使用,以防止可聚焦元素在用户对它们执行拖动交互时显示轮廓。 | |
restoreOutline() | 取消之前的效果BM.DomUtil.preventOutline 。 |
属性
属性 | 类型 | 描述 |
---|---|---|
TRANSFORM | String | 供应商前缀的转换样式名称(例如,'webkitTransform' 对于WebKit)。 |
TRANSITION | String | 供应商前缀过渡样式名称。 |
TRANSITION_END | String | 供应商前缀的transitionend事件名称。 |
PosAnimation
内部用于平移动画,利用现代浏览器的CSS3过渡和IE6-9的计时器回退。
用法示例
var fx = new BM.PosAnimation();
fx.run(el, [300, 500], 0.5);
构造函数
构造函数 | 描述 |
---|---|
BM.PosAnimation() | 创建一个PosAnimation 对象。 |
活动
事件 | 数据 | 描述 |
---|---|---|
start | Event | 动画开始时触发 |
step | Event | 在动画期间连续拍摄。 |
end | Event | 动画结束时触发。 |
方法
方法 | 返回 | 描述 |
---|---|---|
run( <HTMLElement> el, <Point> newPos,<Number> duration?, <Number> easeLinearity?) | 运行给定元素的动画到一个新的位置,任选地设置持续时间秒( | |
stop() | 停止动画(如果当前正在运行)。 |
▶从Evented继承的方法
可拖动
用于使DOM元素可拖动的类(包括触摸支持)。内部用于地图和标记拖动。仅适用于定位的元素BM.DomUtil.setPosition
。
用法示例
var draggable = new BM.Draggable(elementToDrag);
draggable.enable();
构造函数
构造函数 | 描述 |
---|---|
BM.Draggable( <HTMLElement> el, <HTMLElement> dragHandle?, <Boolean>preventOutline?, <Draggable options> options?) | 开始拖动元素时创建一个Draggable 移动对象(默认情况下等于自身)。el dragHandle el |
选项
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
clickTolerance | Number | 3 | 用户可以在单击期间移动鼠标指针的最大像素数,以使其被视为有效点击(与鼠标拖动相反)。 |
活动
事件 | 数据 | 描述 |
---|---|---|
down | Event | 阻力即将开始时被触发。 |
dragstart | Event | 拖动开始时触发 |
predrag | Event | 在每次相应更新元素位置之前,在拖动过程中连续触发。 |
drag | Event | 在拖动过程中连续触发。 |
dragend | DragEndEvent | 拖动结束时触发。 |
方法
方法 | 返回 | 描述 |
---|---|---|
enable() | 启用拖动功能 | |
disable() | 禁用拖动功能 |
▶从Evented继承的方法
类
BM.Classbm的OOP工具提供支持,用于创建此处记录的几乎所bm类。除了实现一个简单的经典继承模型之外,它还为方便的代码组织引入了几个特殊属性 - 选项,包含和静态。
用法示例
var MyClass = BM.Class.extend({
initialize: function (greeter) {
this.greeter = greeter;
// class constructor
},
greet: function (name) {
alert(this.greeter + ', ' + name)
}
});
// create instance of MyClass, passing "Hello" to the constructor
var a = new MyClass("Hello");
// call greet method, alerting "Hello, World"
a.greet("World");
类工构造
您可能已经注意到,在不使用new
关键字的情况下创建bm对象。这是通过使用小写工构造方法补充每个类来实现的:
new BM.Map('map'); // becomes:
BM.map('map');
工构造很容易实现,你可以为自己的类做到这一点:
BM.map = function (id, options) {
return new BM.Map(id, options);
};
遗产
您使用BM.Class.extend定义新类,但您可以在任何类上使用相同的方法继承它:
var MyChildClass = MyClass.extend({
// ... new properties and methods
});
这将创建一个继承父类的所有方法和属性的类(通过适当的原型链),添加或覆盖您传递的扩展。它还将对instanceof做出正确反应:
var a = new MyChildClass();
a instanceof MyChildClass; // true
a instanceof MyClass; // true
您可以通过访问父类原型并使用JavaScript调用或应用来从相应的子方法(与其他语言中的超级调用一样)调用父方法(包括构造函数):
var MyChildClass = MyClass.extend({
initialize: function () {
MyClass.prototype.initialize.call(this, "Yo");
},
greet: function (name) {
MyClass.prototype.greet.call(this, 'bro ' + name + '!');
}
});
var a = new MyChildClass();
a.greet('Jason'); // alerts "Yo, bro Jason!"
选项
options
是一个特殊属性,与您传递给的其他对象不同,extend
它将与父对象合并而不是完全覆盖它,这使得管理对象和默认值的配置变得方便:
var MyClass = BM.Class.extend({
options: {
myOption1: 'foo',
myOption2: 'bar'
}
});
var MyChildClass = MyClass.extend({
options: {
myOption1: 'baz',
myOption3: 5
}
});
var a = new MyChildClass();
a.options.myOption1; // 'baz'
a.options.myOption2; // 'bar'
a.options.myOption3; // 5
还有BM.Util.setOptions
一种方法可以方便地合并传递给构造函数的选项,并在类中定义默认值:
var MyClass = BM.Class.extend({
options: {
foo: 'bar',
bla: 5
},
initialize: function (options) {
BM.Util.setOptions(this, options);
...
}
});
var a = new MyClass({bla: 10});
a.options; // {foo: 'bar', bla: 10}
请注意,options对象允许任何键,而不仅仅是类及其基类定义的选项。这意味着您可以使用options对象存储特定于应用程序的信息,只要您避免使用相关类已经使用过的键即可。
包括
includes
是一个特殊的类属性,它将所有指定的对象合并到类中(这些对象称为mixins)。
var MyMixin = {
foo: function () { ... },
bar: 5
};
var MyClass = BM.Class.extend({
includes: MyMixin
});
var a = new MyClass();
a.foo();
您还可以在运行时使用以下include
方法执行此类包含:
MyClass.include(MyMixin);
statics
只是一个便利属性,它将指定的对象属性作为类的静态属性注入,对定义常量很有用:
var MyClass = BM.Class.extend({
statics: {
FOO: 'bar',
BLA: 5
}
});
MyClass.FOO; // 'bar'
构造函数钩子
如果您是插件开发人员,则通常需要向现有类添加其他初始化代码(例如,编辑挂钩BM.Polyline
)。addInitHook
方法轻松完成的方法:
MyClass.addInitHook(function () {
// ... do something in constructor additionally
// e.g. add event listeners, set custom properties etc.
});
当您只需要进行一次额外的方法调用时,也可以使用以下快捷方式:
MyClass.addInitHook('methodName', arg1, arg2, …);
功能
功能 | 返回 | 描述 |
---|---|---|
extend( <Object> props) | Function | 给定要包含的属性,扩展当前类。返回一个Javascript函数,它是一个类构造函数(要调用new )。 |
include( <Object>properties) | this | 包含当前类的mixin。 |
mergeOptions( <Object>options) | this | 合并options 到类的默认值。 |
addInitHook( <Function> fn) | this | 向类添加构造函数钩子。 |
事件触发
在事件驱动的类(例如Map
和Marker
)之间共享的一组方法。通常,事件允许您在对象发生某些事情时执行某些功能(例如,用户点击地图,导致地图触发'click'
事件)。
用法示例
map.on('click', function(e) {
alert(e.latlng);
} );
function onClick(e) { ... }
map.on('click', onClick);
map.off('click', onClick);
方法
方法 | 返回 | 描述 |
---|---|---|
on( <String> type, <Function>fn, <Object> context?) | this | 将侦听器函数( |
on( <Object> eventMap) | this | 添加一组类型/侦听器对,例如 |
off( <String> type,<Function> fn?, <Object>context?) | this | 删除以前添加的侦听器功能。如果未指定任何函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您将自定义上下文传递给 |
off( <Object> eventMap) | this | 删除一组类型/侦听器对。 |
off() | this | 删除对象上所有事件的所有侦听器。 |
fire( <String> type, <Object>data?, <Boolean> propagate?) | this | 触发指定类型的事件。您可以选择提供数据对象 - 侦听器函数的第一个参数将包含其属性。该事件可以选择性地传播给事件父母。 |
listens( <String> type) | Boolean | 返回 |
once(…) | this | 表现为 |
addEventParent( <Evented>obj) | this | 添加事件父级 - |
removeEventParent( <Evented>obj) | this | 删除事件父级,因此它将停止接收传播的事件 |
addEventListener(…) | this | 别名来 |
removeEventListener(…) | this | 别名来 |
clearAllEventListeners(…) | this | 别名来 |
addOneTimeEventListener(…) | this | 别名来 |
fireEvent(…) | this | 别名来 |
hasEventListeners(…) | Boolean | 别名来 |
层
所bm图层使用的Layer基类中的一组方法。继承所有方法,选项和事件BM.Evented
。
用法示例
var layer = BM.Marker(latlng).addTo(map);
layer.addTo(map);
layer.remove();
选项
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
pane | String | 'overlayPane' | 默认情况下,图层将添加到地图的叠加窗格中。覆盖此选项将导致默认情况下将图层放置在另一个窗格上。 |
attribution | String | null | 要在归属控件中显示的字符串,描述图层数据,例如“©Mapbox”。 |
活动
事件 | 数据 | 描述 |
---|---|---|
add | Event | 将图层添加到地图后触发 |
remove | Event | 从地图中删除图层后触发 |
弹出事件
事件 | 数据 | 描述 |
---|---|---|
popupopen | PopupEvent | 打开绑定到此图层的弹出窗口时触发 |
popupclose | PopupEvent | 绑定到此图层的弹出窗口关闭时触发 |
工具提示事件
事件 | 数据 | 描述 |
---|---|---|
tooltipopen | TooltipEvent | 打开绑定到此图层的工具提示时触发。 |
tooltipclose | TooltipEvent | 绑定到此图层的工具提示关闭时触发。 |
方法
扩展类BM.Layer
将继承以下方法:
方法 | 返回 | 描述 |
---|---|---|
addTo( <Map|LayerGroup> map) | this | 将图层添加到给定的地图或图层组。 |
remove() | this | 从当前处于活动状态的地图中删除图层。 |
removeFrom( <Map> map) | this | 从给定的地图中删除图层 |
getPane( <String> name?) | HTMLElement | 返回 |
getAttribution() | String | 由the使用 |
扩展方法
每一层都应该从BM.Layer
(并重新)实现以下方法。
方法 | 返回 | 描述 |
---|---|---|
onAdd( <Map>map) | this | 应该包含为图层创建DOM元素的代码,将它们添加到 |
onRemove( <Map>map) | this | 应该包含从DOM中删除图层元素的所有清理代码,并删除以前添加的侦听器 |
getEvents() | Object | 这个可选方法应该返回一个像 |
getAttribution() | String | 此可选方法应返回包含HTML的字符串,以便 |
beforeAdd( <Map>map) | this | 可选方法。 |
弹出方法
所有图层共享一组便于将弹出窗口绑定到它的方法。
var layer = BM.Polygon(latlngs).bindPopup('Hi There!').addTo(map);
layer.openPopup();
layer.closePopup();
单击图层时弹出窗口也将自动打开,当从地图中删除图层或打开另一个弹出窗口时,弹出窗口将关闭。
方法 | 返回 | 描述 |
---|---|---|
bindPopup(<String|HTMLElement|Function|Popup>content, <Popup options> options?) | this | 使用传递 |
unbindPopup() | this | 删除以前绑定的弹出窗口 |
openPopup( <LatLng> latlng?) | this |
|
closePopup() | this | 如果已打开,则关闭绑定到此图层的弹出窗口。 |
togglePopup() | this | 打开或关闭绑定到此图层的弹出窗口,具体取决于其当前状态。 |
isPopupOpen() | boolean | 返回 |
setPopupContent(<String|HTMLElement|Popup> content) | this | 设置绑定到此图层的弹出窗口的内容。 |
getPopup() | Popup | 返回绑定到此图层的弹出窗口。 |
工具提示方法
所有图层共享一组便于将工具提示绑定到它的方法。
var layer = BM.Polygon(latlngs).bindTooltip('Hi There!').addTo(map);
layer.openTooltip();
layer.closeTooltip();
方法 | 返回 | 描述 |
---|---|---|
bindTooltip(<String|HTMLElement|Function|Tooltip>content, <Tooltip options> options?) | this | 使用传递 |
unbindTooltip() | this | 删除以前绑定的工具提示 |
openTooltip( <LatLng> latlng?) | this |
|
closeTooltip() | this | 如果已打开,则关闭绑定到此图层的工具提示。 |
toggleTooltip() | this | 打开或关闭绑定到此图层的工具提示,具体取决于其当前状态。 |
isTooltipOpen() | boolean | 返回 |
setTooltipContent(<String|HTMLElement|Tooltip> content) | this | 设置绑定到此图层的工具提示的内容。 |
getTooltip() | Tooltip | 返回绑定到此图层的工具提示。 |
▶从Evented继承的方法
交互层
一些Layer
s可以是交互式的 - 当用户与这样的层交互时click
,mouseover
可以处理类似和可以处理的鼠标事件。使用事件处理方法来处理这些事件。
选项
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
interactive | Boolean | true | 如果false ,图层不会发出鼠标事件,并将作为底层地图的一部分。 |
bubblingMouseEvents | Boolean | true | 何时true ,此图层上的鼠标事件将在地图上触发相同的事件(除非BM.DomEvent.stopPropagation 使用)。 |
▶继承自Layer的选项
活动
鼠标事件
事件 | 数据 | 描述 |
---|---|---|
click | MouseEvent | 用户单击(或点击)图层时触发。 |
dblclick | MouseEvent | 当用户双击(或双击)图层时触发。 |
mousedown | MouseEvent | 当用户在图层上按下鼠标按钮时触发。 |
mouseup | MouseEvent | 当用户释放在图层上按下的鼠标按钮时触发。 |
mouseover | MouseEvent | 鼠标进入图层时触发。 |
mouseout | MouseEvent | 当鼠标离开图层时触发。 |
contextmenu | MouseEvent | 当用户右键单击图层时触发,防止默认浏览器上下文菜单显示此事件是否有侦听器。当用户持续一次触摸(也称为长按)时,也会在手机上触发。 |
▶从Layer继承的事件
▶从Layer继承的弹出事件
▶从Layer继承的工具提示事件
方法
▶从Layer继承的方法
▶从Layer继承的Popup方法
▶继承自Layer的工具提示方法
▶从Evented继承的方法
控制
BM.Control是实现地图控件的基类。处理定位。所有其他控件都从此类扩展而来。
选项
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
position | String | 'topright' | 控件的位置(地图角之一)。可能的值是'topleft' , 'topright' ,'bottomleft' 或者'bottomright' |
方法
扩展BM.Control的类将继承以下方法:
方法 | 返回 | 描述 |
---|---|---|
getPosition() | string | 返回控件的位置。 |
setPosition( <string> position) | this | 设置控件的位置。 |
getContainer() | HTMLElement | 返回包含该控件的HTMLElement。 |
addTo( <Map> map) | this | 将控件添加到给定的地图。 |
remove() | this | 从当前处于活动状态的地图中删除控件。 |
扩展方法
每个控件都应该从BM.Control
(并重新)实现以下方法。
方法 | 返回 | 描述 |
---|---|---|
onAdd( <Map> map) | HTMLElement | 应返回控件的容器DOM元素,并在相关的地图事件上添加侦听器。打电话给 |
onRemove( <Map>map) | 可选方法。应包含删除先前添加的侦听器的所有清理代码 |
处理器
地图交互处理程序的抽象类
方法
方法 | 返回 | 描述 |
---|---|---|
enable() | this | 启用处理程序 |
disable() | this | 禁用处理程序 |
enabled() | Boolean |
|
扩展方法
从中继承的类Handler
必须实现以下两个方法:
方法 | 返回 | 描述 |
---|---|---|
addHooks() | 在启用处理程序时调用,应添加事件挂钩。 | |
removeHooks() | 禁用处理程序时调用,应删除先前添加的事件挂钩。 |
功能
有静态函数可以在不实例化BM.Handler的情况下调用:
功能 | 返回 | 描述 |
---|---|---|
addTo( <Map> map, <String> name) | this | 使用给定名称将新Handler添加到给定映射。 |
投影
具有用于将世界的地理坐标投影到平坦表面(和背面)上的方法的对象。请参见地图投影。
方法
方法 | 返回 | 描述 |
---|---|---|
project(<LatLng>latlng) | Point | 将地理坐标投影到2D点。仅接受实际 |
unproject(<Point>point) | LatLng | 逆的 |
属性
属性 | 类型 | 描述 |
---|---|---|
bounds | Bounds | 投影有效的边界(在CRS单位中指定) |
定义预测
投影 | 描述 |
---|---|
BM.Projection.LonLat | Equirectangular或Plate Carree投影 - 最简单的投影,主要由GIS爱好者使用。直接映射x 为经度和y 纬度。也适用于平面世界,例如游戏地图。由 EPSG:4326 和Simple CRS使用。 |
BM.Projection.Mercator | 椭圆墨卡托投影 - 比球形墨卡托更复杂。考虑到地球是一个大地水准面,而不是一个完美的球体。由EPSG使用:3395 CRS。 |
BM.Projection.SphericalMercator | 球形墨卡托投影 - 在线地图最常见的投影,几乎所有免费和商业瓷砖供应商都使用。假设地球是一个球体。由EPSG:3857 CRS使用。 |
CRS
方法
方法 | 返回 | 描述 |
---|---|---|
latLngToPoint( <LatLng> latlng,<Number> zoom) | Point | 将地理坐标投影到给定缩放的像素坐标。 |
pointToLatLng( <Point> point,<Number> zoom) | LatLng | 逆的 |
project( <LatLng> latlng) | Point | 将地理坐标投影到以此CRS接受的单位的坐标中(例如,EPSG的仪表:3857,用于将其传递给WMS服务)。 |
unproject( <Point> point) | LatLng | 给定一个投影坐标返回相应的LatLng。逆的 |
scale( <Number> zoom) | Number | 返回将投影坐标转换为特定缩放的像素坐标时使用的比例。例如,它返回 |
zoom( <Number> scale) | Number | 反转 |
getProjectedBounds( <Number>zoom) | Bounds | 返回为提供的缩放和变换的投影边界 |
distance( <LatLng> latlng1,<LatLng> latlng2) | Number | 返回两个地理坐标之间的距离。 |
wrapLatLng( <LatLng> latlng) | LatLng | 如果它们在CRS的边界之外,则返回 |
wrapLatLngBounds(<LatLngBounds> bounds) | LatLngBounds | 返回 |
属性
属性 | 类型 | 描述 |
---|---|---|
code | String | 传递给WMS服务的CRS的标准代码名称(例如'EPSG:3857' ) |
wrapLng | Number[] | 两个数字的数组,用于定义经度(水平)坐标轴是否包围给定范围以及如何。默认为[-180, 180] 大多数地理CRS。如果undefined ,经度轴没有环绕。 |
wrapLat | Number[] | 喜欢wrapLng ,但是对于纬度(垂直)轴。 |
infinite | Boolean | 如果为true,则坐标空间将无界(两个轴都无限) |
定义的CRS
CRS | 描述 |
---|---|
BM.CRS.EPSG3395 | 使用椭圆墨卡托投影,较少被商用。 |
BM.CRS.EPSG3857 | 使用球形墨卡托投影(crs 默认使用),最广泛使用的CRS |
BM.CRS.EPSG4326 | 小叶1.0使用符合EPSG的TMS坐标方案:4326,如果你的TileLayer 用于此CRS,请确保在缩放级别位0时覆盖整个地球上有两个256x256的常被CIS极客盖瓦片,并且瓦片坐标为(-180,+ 90)和(-180,-90)在TileLayer 的tms 配置 |
BM.CRS.Earth | 作为CRS的基础,它们覆盖地球是全球性的。只能用作其他CRS的基础,不能直接使用,因为它没有code ,projection 或transformation 。distance() 返回米。 |
BM.CRS.Simple | 一个简单的CRS,可以将经度和纬度直接映射到x 其中y 。可用于平面地图(例如游戏地图)。请注意,y 轴仍应倒置(从下到上)。distance() 返回简单的欧几里德距离。 |
BM.CRS.Base | 定义用于将地理点投影到像素(屏幕)坐标和背面(以及用于WMS服务的其他单元中的坐标)的坐标参考系统的对象。请参阅 空间参照系。如果要使用默认情况下未定义的CRS,请查看 Projbm插件。请注意,CRS实例不从BM的Class 对象继承,也无法实例化。此外,新类不能从它们继承,并且无法使用该include 函数将方法添加到它们中。 |
渲染
矢量渲染器实现的基类(SVG
,Canvas
)。处理渲染器的DOM容器,其边界和缩放动画。A Renderer
作为所有Path
s 的隐式图层组- 渲染器本身可以添加或删除到地图。所有路径都使用渲染器,它可以是隐式的(地图将决定渲染器的类型并自动使用它)或显式(使用renderer
路径选项)。不要直接使用这个类,而是使用SVG
而Canvas
不是。
配置
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
padding | Number | 0.1 | 在地图视图周围(相对于其大小)扩展剪辑区域的程度是多少,例如,0.1将是每个方向上的地图视图的10% |
tolerance | Number | 0 | 围绕地图上的路径/对象延伸点击容差的程度 |
▶继承自Layer的选项
活动
事件 | 数据 | 描述 |
---|---|---|
update | Event | 当渲染器更新其边界,居中和缩放时触发,例如当其地图移动时 |
▶从Layer继承的事件
▶从Layer继承的弹出事件
▶从Layer继承的工具提示事件
方法
▶从Layer继承的方法
▶从Layer继承的Popup方法
▶继承自Layer的工具提示方法
▶从Evented继承的方法
事件对象
每当从继承的类Evented
触发事件时,将使用事件参数调用侦听器函数,该事件参数是包含有关事件的信息的普通对象。例如:
map.on('click', function(ev) {
alert(ev.latlng); // ev is an event object (MouseEvent in this case)
});
可用信息取决于事件类型:
事件
基本事件对象。所有其他事件对象也包含这些属性。
属性 | 类型 | 描述 |
---|---|---|
type | String | 事件类型(例如'click' )。 |
target | Object | 触发事件的对象。对于传播事件,传播链中触发事件的最后一个对象。 |
sourceTarget | Object | 最初触发事件的对象。对于非传播事件,这将与target 。 |
propagatedFrom | Object | 对于传播事件,将事件传播到其事件父级的最后一个对象。 |
layer | Object | 已过时。同样的propagatedFrom 。 |
的KeyboardEvent
属性 | 类型 | 描述 |
---|---|---|
originalEvent | DOMEvent | 触发bm事件的原始DOMKeyboardEvent 。 |
▶继承自Event的属性
的MouseEvent
属性 | 类型 | 描述 |
---|---|---|
latlng | LatLng | 鼠标事件发生的地理位置。 |
layerPoint | Point | 鼠标事件相对于地图图层发生的点的像素坐标。 |
containerPoint | Point | 鼠标事件发生点相对于地图сontainer的像素坐标。 |
originalEvent | DOMEvent | 触发bm事件的原始DOMMouseEvent 或DOMTouchEvent 。 |
▶继承自Event的属性
LocationEvent
属性 | 类型 | 描述 |
---|---|---|
latlng | LatLng | 检测到用户的地理位置。 |
bounds | LatLngBounds | 区域用户的地理界限位于(相对于位置的准确性)。 |
accuracy | Number | 以米为单位的准确度。 |
altitude | Number | WGS84椭圆体上方位置的高度,以米为单位。 |
altitudeAccuracy | Number | 海拔精度以米为单位。 |
heading | Number | 从真北向顺时针方向的行程方向。 |
speed | Number | 当前速度,以米/秒为单位。 |
timestamp | Number | 获得该职位的时间。 |
▶继承自Event的属性
的ErrorEvent
属性 | 类型 | 描述 |
---|---|---|
message | String | 错误信息。 |
code | Number | 错误代码(如果适用)。 |
▶继承自Event的属性
LayerEvent
属性 | 类型 | 描述 |
---|---|---|
layer | Layer | 添加或删除的图层。 |
▶继承自Event的属性
LayersControlEvent
属性 | 类型 | 描述 |
---|---|---|
layer | Layer | 添加或删除的图层。 |
name | String | 添加或删除的图层的名称。 |
▶继承自Event的属性
TileEvent
属性 | 类型 | 描述 |
---|---|---|
tile | HTMLElement | tile元素(图片)。 |
coords | Point | 使用tile的x ,, y 和z (缩放级别)坐标指向对象。 |
▶继承自Event的属性
TileErrorEvent
属性 | 类型 | 描述 |
---|---|---|
tile | HTMLElement | tile元素(图片)。 |
coords | Point | 使用tile的x ,, y 和z (缩放级别)坐标指向对象。 |
error | * | 错误传递给tile的done() 回调。 |
▶继承自Event的属性
ResizeEvent
属性 | 类型 | 描述 |
---|---|---|
oldSize | Point | 调整大小事件之前的旧大小。 |
newSize | Point | 调整大小事件后的新大小。 |
▶继承自Event的属性
GeoJSONEvent
属性 | 类型 | 描述 |
---|---|---|
layer | Layer | 要添加到地图的GeoJSON要素图层。 |
properties | Object | 该功能的GeoJSON属性。 |
geometryType | String | GeoJSON几何类型的特征。 |
id | String | 功能的GeoJSON ID(如果存在)。 |
▶继承自Event的属性
PopupEvent
属性 | 类型 | 描述 |
---|---|---|
popup | Popup | 打开或关闭的弹出窗口。 |
▶继承自Event的属性
TooltipEvent
属性 | 类型 | 描述 |
---|---|---|
tooltip | Tooltip | 打开或关闭的工具提示。 |
▶继承自Event的属性
DragEndEvent
属性 | 类型 | 描述 |
---|---|---|
distance | Number | 移动可拖动元素的距离(以像素为单位)。 |
▶继承自Event的属性
ZoomAnimEvent
属性 | 类型 | 描述 |
---|---|---|
center | LatLng | 当前的地图中心 |
zoom | Number | 地图的当前缩放级别 |
noUpdate | Boolean | 层是否应该由于此事件而更新其内容 |
▶继承自Event的属性
DivOverlay
BM.Popup和BM.Tooltip的基本模型。继承自己的自定义弹出窗口,如插件。
选项
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
offset | Point | Point(0, 7) | 弹出位置的偏移量。用于在某些叠加层上打开弹出窗口时控制弹出窗口的锚点。 |
className | String | '' | 要分配给弹出窗口的自定义CSS类名称。 |
pane | String | 'popupPane' | Map pane 弹出窗口将被添加的位置。 |
▶继承自Layer的选项
咨询QQ::2480224524
更多推荐
所有评论(0)