// 使用id为map的div容器初始化地图,同时指定地图的中心点和缩放级别
BM.Config.HTTP_URL = '';
var map = BM.map('map','mapid', {
center: [51.505, -0.09],
zoom: 13
});
构造 | 描述 |
---|---|
BM.map( |
给定
|
BM.map( |
给定
|
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
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( |
Renderer |
返回 |
层和控件方法
方法 | 返回 | 描述 |
---|---|---|
addControl( |
this |
添加控件至地图视图 |
removeControl( |
this |
移除控件 |
addLayer( |
this |
添加层至地图视图 |
removeLayer( |
this |
移除层 |
hasLayer( |
Boolean |
查询是否有指定的层 |
eachLayer( |
this |
迭代映射的层,可选地指定迭代器函数的上下文。 |
openPopup( |
this |
关闭先前打开时打开指定的弹出窗口(以确保一次只能打开一个以获得可用性)。 |
openPopup( |
this |
创建具有指定内容和选项的弹出窗口,并在地图上的给定点中打开它。 |
closePopup( |
this |
关闭先前使用openPopup(或给定的)打开的弹出窗口。 |
openTooltip( |
this |
打开指定的工具提示。 |
openTooltip( |
this |
创建具有指定内容和选项的工具提示并将其打开。 |
closeTooltip( |
this |
关闭作为参数给出的工具提示。 |
地图状态修改
方法 | 返回 | 描述 |
---|---|---|
setView( |
this |
设置地图位置(地理位置和缩放级别)) |
setZoom( |
this |
设置缩放级别 |
zoomIn( |
this |
通过 |
zoomOut( |
this |
通过 |
setZoomAround( |
this |
缩放地图,同时使地图上的指定地理点保持静止(例如,在内部用于滚动缩放和双击缩放)。 |
setZoomAround( |
this |
放大地图,同时保持地图上的指定像素(相对于左上角)静止不动。 |
fitBounds( |
this |
限定地图可移动区域 |
fitWorld( |
this |
设置一个地图视图,该视图主要包含可能具有最大缩放级别的整个世界。 |
panTo( |
this |
移动地图到新的中心点 |
panBy( |
this |
按给定数量的像素(动画)平移地图。 |
flyTo( |
this |
移动至新的位置(中心和缩放) |
flyToBounds( |
this |
平滑移动值新的位置,, |
setMaxBounds( |
this |
将地图视图限制为给定边界(请参阅maxBounds选项)。 |
setMinZoom( |
this |
设置最小可用缩放级别(参照minZoom配置) |
setMaxZoom( |
this |
设置最大可用缩放级别(参照maxZoom配置) |
panInsideBounds( |
this |
将地图平移到位于给定边界内的最近视图(如果它还没有),使用特定选项(如果有)控制动画。 |
invalidateSize( |
this |
检查地图容器大小是否更改并更新地图(如果是这样) - 在动态更改地图大小后调用它,默认情况下也为动画设置动画。如果 |
invalidateSize( |
this |
检查地图容器大小是否更改并更新地图(如果是这样) - 在动态更改地图大小后调用它,默认情况下也为动画设置动画。 |
stop() |
this |
停止当前运行的动画( |
地理定位方法
方法 | 返回 | 描述 |
---|---|---|
locate( |
this |
尝试使用Geolocation API定位用户,触发包含 |
stopLocate() |
this |
停止观看之前发起的位置 |
其它方法
方法 | 返回 | 描述 |
---|---|---|
addHandler( |
this |
|
remove() |
this |
销毁地图并清楚所有相关的事件监听器。 |
createPane( |
HTMLElement |
如果已存在,则创建具有给定名称的新地图窗格,然后返回该窗格。 |
getPane( |
HTMLElement |
给出其名称或其HTML元素(其标识)的地图窗格。 |
getPanes() |
Object |
返回一个普通对象,其中包含所有窗格的名称作为键,窗格作为值。 |
getContainer() |
HTMLElement |
返回包含地图的HTML元素。 |
whenReady( |
this |
|
获取地图状态方法
方法 | 返回 | 描述 |
---|---|---|
getCenter() |
LatLng |
获取当前中心点 |
getZoom() |
Number |
获取当前缩放级别 |
getBounds() |
LatLngBounds |
获取当前视图可见边界 |
getMinZoom() |
Number |
获取当前最小缩放级别(如果在 |
getMaxZoom() |
Number |
获取当前最大缩放级别(如果在 |
getBoundsZoom( |
Number |
返回给定边界完全适合地图视图的最大缩放级别。如果 |
getSize() |
Point |
获取当前容器大小(px单位) |
getPixelBounds() |
Bounds |
返回投影像素坐标中当前地图视图的边界(有时在图层和叠加层实现中很有用)。 |
getPixelOrigin() |
Point |
返回地图图层左上角点的投影像素坐标(在自定义图层和叠加层实现中很有用)。 |
getPixelWorldBounds( |
Bounds |
返回缩放级别的像素坐标中的世界边界 |
转换方法
方法 | 返回 | 描述 |
---|---|---|
getZoomScale( |
Number |
返回要应用于从缩放级别 |
getScaleZoom( |
Number |
返回地图最终的缩放级别,如果它处于 |
project( |
Point |
项目的地理坐标 |
unproject( |
LatLng |
逆的 |
layerPointToLatLng( |
LatLng |
给定相对于原点像素的像素坐标,返回相应的地理坐标(对于当前缩放级别)。 |
latLngToLayerPoint( |
Point |
给定地理坐标,返回相对于原始像素的对应像素坐标。 |
wrapLatLng( |
LatLng |
如果它们在CRS的边界之外,则返回一个 |
wrapLatLngBounds( |
LatLngBounds |
返回 |
distance( |
Number |
根据地图的CRS返回两个地理坐标之间的距离。默认情况下,它以米为单位测量距离 |
containerPointToLayerPoint( |
Point |
给定相对于地图容器的像素坐标,返回相对于原始像素的对应像素坐标。 |
layerPointToContainerPoint( |
Point |
给定相对于原始像素的像素坐标,返回相对于地图容器的对应像素坐标。 |
containerPointToLatLng( |
LatLng |
给定相对于地图容器的像素坐标,返回相应的地理坐标(对于当前缩放级别)。 |
latLngToContainerPoint( |
Point |
给定地理坐标,返回相对于地图容器的对应像素坐标。 |
mouseEventToContainerPoint( |
Point |
给定MouseEvent对象,返回相对于发生事件的地图容器的像素坐标。 |
mouseEventToLayerPoint( |
Point |
给定MouseEvent对象,返回相对于发生事件的原点像素的像素坐标。 |
mouseEventToLatLng( |
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 在启动时触发事件(内部用于平移惯性)。 |
▶从缩放选项继承的选项
▶从Pan选项继承的选项
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
paddingTopLeft |
Point |
[0, 0] |
设置在将视图设置为适合边界时不应考虑的地图容器左上角的填充量。如果您在地图上有一些控件叠加层(如侧边栏)并且您不希望它们遮挡您要缩放的对象,则非常有用。 |
paddingBottomRight |
Point |
[0, 0] |
地图右下角也是如此。 |
padding |
Point |
[0, 0] |
相当于将左上角和右下角填充设置为相同的值。 |
maxZoom |
Number |
null |
要使用的最大缩放比例。 |
▶从缩放选项继承的选项
▶从Pan选项继承的选项
BM.Marker用于在地图上显示可点击/可拖动的图标。延伸Layer
。
BM.marker([50.5, 30.5]).addTo(map);
构造 | 描述 |
---|---|
BM.marker( |
给定地理点和可选的选项对象实例化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( |
this |
将标记位置更改为给定点。 |
setZIndexOffset( |
this |
更改标记的zIndex偏移量。 |
setIcon( |
this |
更改标记图标。 |
setOpacity( |
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('Hello world!
This is a nice popup.
')
.openOn(map);
构造 | 描述 |
---|---|
BM.popup( |
实例化一个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( |
this |
设置弹出窗口打开的地理位置。 |
getContent() |
String|HTMLElement |
返回弹出窗口的内容。 |
setContent( |
this |
设置弹出窗口的HTML内容。如果传递函数,源图层将传递给函数。该函数应该返回一个 |
getElement() |
String|HTMLElement |
getContent()的别名 |
update() |
null |
更新弹出内容,布局和位置。用于更改内部更改后的弹出窗口,例如图像加载。 |
isOpen() |
Boolean |
|
bringToFront() |
this |
将此弹出窗口置于其他弹出窗口之前(在同一个地图窗格中)。 |
bringToBack() |
this |
将此弹出窗口置于其他弹出窗口的后面(在同一个地图窗格中)。 |
openOn( |
this |
将弹出窗口添加到地图并关闭上一个。同样的 |
▶从Layer继承的方法
▶从Layer继承的Popup方法
▶继承自Layer的工具提示方法
▶从Evented继承的方法
用于在地图图层上显示小文本。
marker.bindTooltip("my tooltip text").openTooltip();
关于工具提示偏移的注意事项。
offset
工具提示选项:它默认为[0,0],这是特定于一个工具提示。添加正x偏移以将工具提示向右移动,并使用正y偏移将其移动到底部。负数将移至左侧和顶部。tooltipAnchor
图标选项:这只会被视为标记。如果使用自定义图标,则应调整此值。构造 | 描述 |
---|---|
BM.tooltip( |
实例化一个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继承的方法
用于在地图上加载和显示切片图层。延伸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( |
在给定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的选项
▶从GridLayer继承的事件
▶从Layer继承的事件
▶从Layer继承的弹出事件
▶从Layer继承的工具提示事件
方法 | 返回 | 描述 |
---|---|---|
setUrl( |
this |
更新图层的URL模板并重新绘制它(除非 |
createTile( |
HTMLElement |
仅在内部调用,覆盖GridLayer |
扩展方法
图层扩展TileLayer
可能会重新实现以下方法。
方法 | 返回 | 描述 |
---|---|---|
getTileUrl( |
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( |
给定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的选项
▶从GridLayer继承的事件
▶从Layer继承的事件
▶从Layer继承的弹出事件
▶从Layer继承的工具提示事件
方法 | 返回 | 描述 |
---|---|---|
setParams( |
this |
使用新参数合并对象并在当前屏幕上重新请求切片(除非 |
▶从TileLayer继承的方法
▶从GridLayer继承的方法
▶从Layer继承的方法
▶从Layer继承的Popup方法
▶继承自Layer的工具提示方法
▶从Evented继承的方法
用于在地图的特定边界上加载和显示单个图像。延伸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( |
给定图像的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( |
this |
设置叠加层的不透明度。 |
bringToFront() |
this |
将图层置于所有叠加层的顶部。 |
bringToBack() |
this |
将图层置于所有叠加层的底部。 |
setUrl( |
this |
更改图像的URL。 |
setBounds( |
this |
更新此ImageOverlay所涵盖的边界更改图像叠加层的zIndex。 |
getBounds() |
LatLngBounds |
获取此ImageOverlay涵盖的范围 |
getElement() |
HTMLElement |
返回 |
▶从Layer继承的方法
▶从Layer继承的Popup方法
▶继承自Layer的工具提示方法
▶从Evented继承的方法
用于在地图的特定边界上加载和显示视频播放器。延伸ImageOverlay
。视频叠加层使用 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( |
给定视频的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( |
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( |
在给定地理点数组和可选的选项对象的情况下实例化折线对象。您可以通过传递地理点数组的数组来创建Polyline 具有多个单独行(MultiPolyline )的对象。 |
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
smoothFactor |
Number |
1.0 |
在每个缩放级别上简化折线的程度。更多意味着更好的性能和更流畅的外观,更少意味着更准确的表示。 |
noClip |
Boolean |
false |
禁用折线剪裁。 |
▶继承自Path的选项
▶从交互层继承的选项
▶继承自Layer的选项
▶从交互层继承的鼠标事件
▶从Layer继承的事件
▶从Layer继承的弹出事件
▶从Layer继承的工具提示事件
方法 | 返回 | 描述 |
---|---|---|
toGeoJSON() |
Object |
返回一个 |
getLatLngs() |
LatLng[] |
返回路径中的点数组,或者在多折线的情况下返回嵌套的点数组。 |
setLatLngs( |
this |
用给定的地理点数组替换折线中的所有点。 |
isEmpty() |
Boolean |
|
closestLayerPoint() |
Point |
返回最接近 |
getCenter() |
LatLng |
返回折线的中心(质心)。 |
getBounds() |
LatLngBounds |
返回 |
addLatLng( |
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( |
▶从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( |
▶从Polyline继承的选项
▶继承自Path的选项
▶从交互层继承的选项
▶继承自Layer的选项
▶从交互层继承的鼠标事件
▶从Layer继承的事件
▶从Layer继承的弹出事件
▶从Layer继承的工具提示事件
方法 | 返回 | 描述 |
---|---|---|
setBounds( |
this |
使用传递的边界重绘矩形。 |
▶从Polygon继承的方法
▶从Polyline继承的方法
▶从Path继承的方法
▶从Layer继承的方法
▶从Layer继承的Popup方法
▶继承自Layer的工具提示方法
▶从Evented继承的方法
用于在地图上绘制圆形叠加层的类。延伸CircleMarker
。这是一个近似值,并开始偏离靠近极点的真实圆(由于投影失真)。
BM.circle([50.5, 30.5], {radius: 200}).addTo(map);
构造 | 描述 |
---|---|
BM.circle( |
实例化给定地理点的圆对象,以及包含圆半径的选项对象。 |
BM.circle( |
实例化圆圈的过时方式,与0.7.x代码兼容。不要在新的应用程序或插件中使用。 |
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
radius |
Number |
圆的半径,以米为单位。 |
▶继承自Path的选项
▶从交互层继承的选项
▶继承自Layer的选项
▶从交互层继承的鼠标事件
▶从Layer继承的事件
▶从Layer继承的弹出事件
▶从Layer继承的工具提示事件
方法 | 返回 | 描述 |
---|---|---|
setRadius( |
this |
设置圆的半径。单位是米。 |
getRadius() |
Number |
返回圆的当前半径。单位是米。 |
getBounds() |
LatLngBounds |
返回 |
▶继承自CircleMarker的方法
▶从Path继承的方法
▶从Layer继承的方法
▶从Layer继承的Popup方法
▶继承自Layer的工具提示方法
▶从Evented继承的方法
一个固定大小的圆,半径以像素为单位指定。延伸Path
。
构造 | 描述 |
---|---|
BM.circleMarker( |
给定地理点的实例化圆形标记对象,以及可选的选项对象。 |
配置 | 类型 | 默认 | 描述 |
---|---|---|---|
radius |
Number |
10 |
圆形标记的半径,以像素为单位 |
▶继承自Path的选项
▶从交互层继承的选项
▶继承自Layer的选项
▶从交互层继承的鼠标事件
▶从Layer继承的事件
▶从Layer继承的弹出事件
▶从Layer继承的工具提示事件
方法 | 返回 | 描述 |
---|---|---|
toGeoJSON() |
Object |
返回一个 |
setLatLng( |
this |
将圆圈标记的位置设置为新位置。 |
getLatLng() |
LatLng |
返回圆标记的当前地理位置 |
setRadius( |
this |
设置圆圈标记的半径。单位为像素。 |
getRadius() |
Number |
返回圆的当前半径 |
▶从Path继承的方法
▶从Layer继承的方法
▶从Layer继承的Popup方法
▶继承自Layer的工具提示方法
▶从Evented继承的方法
虽然在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( |
使用给定选项创建SVG渲染器。 |
▶继承自Renderer的选项
▶继承自Layer的选项
▶从Renderer继承的事件
▶从Layer继承的事件
▶从Layer继承的弹出事件
▶从Layer继承的工具提示事件
▶从Layer继承的方法
▶从Layer继承的Popup方法
▶继承自Layer的工具提示方法
▶从Evented继承的方法
有几个静态函数可以在不实例化BM.SVG的情况下调用:
功能 | 返回 | 描述 |
---|---|---|
create( |
SVGElement |
返回SVGElement的实例,对应于传递的类名。例如,使用'line'将返回SVGLineElement的实例。 |
pointsToPath( |
String |
为多个环生成SVG路径字符串,每个环变为“M..BM..L ..”指令 |
允许使用矢量图层显示。继承
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( |
使用给定选项创建Canvas渲染器。 |
▶继承自Renderer的选项
▶继承自Layer的选项
▶从Renderer继承的事件
▶从Layer继承的事件
▶从Layer继承的弹出事件
▶从Layer继承的工具提示事件
▶从Layer继承的方法
▶从Layer继承的Popup方法
▶继承自Layer的工具提示方法
▶从Evented继承的方法
用于将多个图层分组并将其作为一个图层处理。如果将其添加到地图中,则还会在地图上添加/删除从组中添加或删除的任何图层。延伸Layer
。
BM.layerGroup([marker1, marker2])
.addLayer(polyline)
.addTo(map);
构造 | 描述 |
---|---|
BM.layerGroup( |
创建一个图层组,可选地给出一组初始图层和一个options 对象。 |
▶继承自Layer的选项
▶从Layer继承的事件
▶从Layer继承的弹出事件
▶从Layer继承的工具提示事件
方法 | 返回 | 描述 |
---|---|---|
toGeoJSON() |
Object |
返回一个 |
addLayer( |
this |
将给定图层添加到组中。 |
removeLayer( |
this |
从组中删除给定的图层。 |
removeLayer( |
this |
从组中删除具有给定内部ID的图层。 |
hasLayer( |
Boolean |
返回 |
hasLayer( |
Boolean |
返回 |
clearLayers() |
this |
从组中删除所有图层。 |
invoke( |
this |
调用 |
eachLayer( |
this |
迭代组的层,可选地指定迭代器函数的上下文。 |
getLayer( |
Layer |
返回具有给定内部ID的图层。 |
getLayers() |
Layer[] |
返回添加到组中的所有图层的数组。 |
setZIndex( |
this |
调用 |
getLayerId( |
Number |
返回图层的内部ID |
▶从Layer继承的方法
▶从Layer继承的Popup方法
▶继承自Layer的工具提示方法
▶从Evented继承的方法
扩展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的选项
事件 | 数据 | 描述 |
---|---|---|
layeradd |
LayerEvent |
将图层添加到此时触发 FeatureGroup |
layerremove |
LayerEvent |
从此处移除图层时触发 FeatureGroup |
▶从Layer继承的事件
▶从Layer继承的弹出事件
▶从Layer继承的工具提示事件
方法 | 返回 | 描述 |
---|---|---|
setStyle( |
this |
将给定路径选项设置为具有 |
bringToFront() |
this |
将图层组置于所有其他图层的顶部 |
bringToBack() |
this |
将图层组带到所有其他图层的背面 |
getBounds() |
LatLngBounds |
返回要素组的LatLngBounds(根据其子项的边界和坐标创建)。 |
▶从LayerGroup继承的方法
▶从Layer继承的方法
▶从Layer继承的Popup方法
▶继承自Layer的工具提示方法
▶从Evented继承的方法
表示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( |
创建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( |
Layer |
Layer 从给定的GeoJSON功能创建一个。 如果作为选项提供,可以使用自定义pointToLayer 和/或coordsToLatLng 功能。 |
coordsToLatLng( |
LatLng |
LatLng 从GeoJSON中用于点的2个数字(经度,纬度)或3个数字(经度,纬度,高度)的数组创建对象。 |
coordsToLatLngs( |
Array |
LatLng 从GeoJSON坐标数组创建s 的多维数组。 levelsDeep 指定嵌套级别(0表示点数组,1表示点数组数组,等等,默认为0)。可以使用自定义coordsToLatLng 功能。 |
latLngToCoords( |
Array |
逆转 coordsToLatLng |
latLngsToCoords( |
Array |
反向确定是否应将第一个点附加到数组的末尾以关闭该要素,仅在为0 时使用。默认为False。coordsToLatLngs closed levelsDeep |
asFeature( |
Object |
将GeoJSON几何/特征规范化为GeoJSON特征。 |
用于处理HTML元素的平铺网格的通用类。这是所有切片图层和替换的基类 同步使用 要创建自定义层,延长GridLayer和实施 异步使用 平铺创建也可以是异步的,这在使用第三方绘图库时很有用。图块完成绘制后,可以将其传递给 ▶继承自Layer的选项 ▶从Layer继承的事件 ▶从Layer继承的弹出事件 ▶从Layer继承的工具提示事件 将切片图层置于所有切片图层的顶部。 将切片图层置于所有切片图层的底部。 返回包含此图层的切片的HTML元素。 更改网格图层的不透明度。 更改网格图层的zIndex。 返回 使图层清除所有图块并再次请求它们。 将tileSize选项规范化为一个点。由 扩展方法 延伸层 仅在内部调用,必须由扩展的类重写 ▶从Layer继承的方法 ▶从Layer继承的Popup方法 ▶继承自Layer的工具提示方法 ▶从Evented继承的方法 表示具有一定纬度和经度的地理点。 接受LatLng对象的所bm方法也以简单的Array形式和简单的对象形式接受它们(除非另有说明),因此这些行是等效的: 请注意, 返回 返回该点的字符串表示形式(用于调试目的)。 返回 返回 返回一个新 表示地图上的矩形地理区域。 接受LatLngBounds对象的所bm方法也以简单的Array形式接受它们(除非另有说明),因此上面的bounds示例可以像这样传递: 注意:如果区域穿过反射(通常与国际日期线混淆),则必须指定[-180,180]度经度范围之外的角。请注意, 扩展边界以包含给定点 扩展边界以包含给定的边界 返回通过在每个方向上按给定比率扩展或缩回当前边界而创建的边界。例如,0.5的比率在每个方向上将边界扩展50%。负值将收回边界。 返回边界的中心点。 返回边界的西南点。 返回边界的东北点。 返回边界的西北点。 返回边界的东南点。 返回边界的西经度 返回边界的南纬 返回边界的东经度 返回边界的北纬 返回带有'southwest_lng,southwest_lat,northeast_lng,northeast_lat'格式的边界框坐标的字符串。用于向返回地理数据的Web服务发送请求。 返回 表示带有 接受 请注意, 返回当前点的副本。 返回当前和给定点的相加结果。 返回从当前减去给定点的结果。 返回当前点除以给定数字的结果。 返回当前点乘以给定数字的结果。 将当前点的每个坐标乘以每个坐标 逆的 返回带圆角坐标的当前点的副本。 返回带有地板坐标(向下舍入)的当前点的副本。 返回带有ceiled坐标的当前点的副本(向上舍入)。 返回带有截断坐标的当前点的副本(向零舍入)。 返回当前点和给定点之间的笛卡尔距离。 返回 返回该点的字符串表示形式以进行调试。 表示像素坐标中的矩形区域。 接受 请注意, 扩展边界以包含给定点。 返回边界的中心点。 返回边界的左下角。 返回边界的右上角。 返回边界的左上角(即 返回边界的右下角(即 返回给定边界的大小 表示创建标记时要提供的图标。 在必须显示图标时在内部调用,返回 作为 一个简单的子类 通过可以定义 默认情况下,Class为bm-div-icon',一个带有有阴影的白色小正方形。 ▶从图标继承的配置 ▶从图标继承的方法 带有两个按钮的基本变焦控制(放大和缩小)。默认情况下,它会放在地图上,除非您将其 ▶继承自Control的选项 ▶从Control继承的方法 归因控件允许您在地图上的小文本框中显示归因数据。默认情况下,它会放在地图上,除非您将其 ▶继承自Control的选项 设置属性之前的文本。 添加归因文本(例如 删除归因文字。 ▶从Control继承的方法 图层控件使用户能够在不同的基础层之间切换并打开/关闭覆盖图(查看详细示例)。延伸 的 图层名称可以包含HTML,允许您为项目添加其他样式: ▶继承自Control的选项 向控件添加具有给定名称的基础图层(单选按钮条目)。 向控件添加具有给定名称的叠加层(复选框条目)。 从控件中删除给定的图层。 如果折叠,则展开控件容器。 如果展开,则折叠控件容器。 ▶从Control继承的方法 一个简单的比例控制,以公制(m / km)和英制(mi / ft)系统显示当前屏幕中心的比例。延伸 ▶继承自Control的选项 ▶从Control继承的方法 代表仿射变换:一组系数 返回一个转换点,可选地乘以给定的比例。仅接受实际 返回给定点的反向变换,可选地除以给定的比例。仅接受实际 用于折线点处理的各种实用程序函数,bm在内部用于使折线快速闪烁。 多边形几何的各种实用函数。 实用程序函数用于处理的DOM事件。 实用程序函数与DOM 树一起使用,bm在内部使用。期望或返回的大多数函数 内部用于平移动画,利用现代浏览器的CSS3过渡和IE6-9的计时器回退。 运行给定元素的动画到一个新的位置,任选地设置持续时间秒( 停止动画(如果当前正在运行)。 ▶从Evented继承的方法 用于使DOM元素可拖动的类(包括触摸支持)。内部用于地图和标记拖动。仅适用于定位的元素 启用拖动功能 禁用拖动功能 ▶从Evented继承的方法 BM.Classbm的OOP工具提供支持,用于创建此处记录的几乎所bm类。除了实现一个简单的经典继承模型之外,它还为方便的代码组织引入了几个特殊属性 - 选项,包含和静态。 类工构造 您可能已经注意到,在不使用 工构造很容易实现,你可以为自己的类做到这一点: 遗产 您使用BM.Class.extend定义新类,但您可以在任何类上使用相同的方法继承它: 这将创建一个继承父类的所有方法和属性的类(通过适当的原型链),添加或覆盖您传递的扩展。它还将对instanceof做出正确反应: 您可以通过访问父类原型并使用JavaScript调用或应用来从相应的子方法(与其他语言中的超级调用一样)调用父方法(包括构造函数): 选项 还有 请注意,options对象允许任何键,而不仅仅是类及其基类定义的选项。这意味着您可以使用options对象存储特定于应用程序的信息,只要您避免使用相关类已经使用过的键即可。 包括 您还可以在运行时使用以下 构造函数钩子 如果您是插件开发人员,则通常需要向现有类添加其他初始化代码(例如,编辑挂钩 当您只需要进行一次额外的方法调用时,也可以使用以下快捷方式: 在事件驱动的类(例如 将侦听器函数( 添加一组类型/侦听器对,例如 删除以前添加的侦听器功能。如果未指定任何函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您将自定义上下文传递给 删除一组类型/侦听器对。 删除对象上所有事件的所有侦听器。 触发指定类型的事件。您可以选择提供数据对象 - 侦听器函数的第一个参数将包含其属性。该事件可以选择性地传播给事件父母。 返回 表现为 添加事件父级 - 删除事件父级,因此它将停止接收传播的事件 别名来 别名来 别名来 别名来 别名来 别名来 所bm图层使用的Layer基类中的一组方法。继承所有方法,选项和事件 弹出事件 工具提示事件 扩展类 将图层添加到给定的地图或图层组。 从当前处于活动状态的地图中删除图层。 从给定的地图中删除图层 返回 由the使用 扩展方法 每一层都应该从 应该包含为图层创建DOM元素的代码,将它们添加到 应该包含从DOM中删除图层元素的所有清理代码,并删除以前添加的侦听器 这个可选方法应该返回一个像 此可选方法应返回包含HTML的字符串,以便 可选方法。 弹出方法 所有图层共享一组便于将弹出窗口绑定到它的方法。 单击图层时弹出窗口也将自动打开,当从地图中删除图层或打开另一个弹出窗口时,弹出窗口将关闭。 使用传递 删除以前绑定的弹出窗口 如果已打开,则关闭绑定到此图层的弹出窗口。 打开或关闭绑定到此图层的弹出窗口,具体取决于其当前状态。 返回 设置绑定到此图层的弹出窗口的内容。 返回绑定到此图层的弹出窗口。 工具提示方法 所有图层共享一组便于将工具提示绑定到它的方法。 使用传递 删除以前绑定的工具提示 如果已打开,则关闭绑定到此图层的工具提示。 打开或关闭绑定到此图层的工具提示,具体取决于其当前状态。 返回 设置绑定到此图层的工具提示的内容。 返回绑定到此图层的工具提示。 ▶从Evented继承的方法 一些 ▶继承自Layer的选项 鼠标事件 ▶从Layer继承的事件 ▶从Layer继承的弹出事件 ▶从Layer继承的工具提示事件 ▶从Layer继承的方法 ▶从Layer继承的Popup方法 ▶继承自Layer的工具提示方法 ▶从Evented继承的方法 BM.Control是实现地图控件的基类。处理定位。所有其他控件都从此类扩展而来。 扩展BM.Control的类将继承以下方法: 返回控件的位置。 设置控件的位置。 返回包含该控件的HTMLElement。 将控件添加到给定的地图。 从当前处于活动状态的地图中删除控件。 扩展方法 每个控件都应该从 应返回控件的容器DOM元素,并在相关的地图事件上添加侦听器。打电话给 可选方法。应包含删除先前添加的侦听器的所有清理代码 地图交互处理程序的抽象类 启用处理程序 禁用处理程序 扩展方法 从中继承的类 在启用处理程序时调用,应添加事件挂钩。 禁用处理程序时调用,应删除先前添加的事件挂钩。 有静态函数可以在不实例化BM.Handler的情况下调用: 具有用于将世界的地理坐标投影到平坦表面(和背面)上的方法的对象。请参见地图投影。 将地理坐标投影到2D点。仅接受实际 逆的 将地理坐标投影到给定缩放的像素坐标。 逆的 将地理坐标投影到以此CRS接受的单位的坐标中(例如,EPSG的仪表:3857,用于将其传递给WMS服务)。 给定一个投影坐标返回相应的LatLng。逆的 返回将投影坐标转换为特定缩放的像素坐标时使用的比例。例如,它返回 反转 返回为提供的缩放和变换的投影边界 返回两个地理坐标之间的距离。 如果它们在CRS的边界之外,则返回 返回 矢量渲染器实现的基类( ▶继承自Layer的选项 ▶从Layer继承的事件 ▶从Layer继承的弹出事件 ▶从Layer继承的工具提示事件 ▶从Layer继承的方法 ▶从Layer继承的Popup方法 ▶继承自Layer的工具提示方法 ▶从Evented继承的方法 每当从继承的类 可用信息取决于事件类型: 基本事件对象。所有其他事件对象也包含这些属性。 ▶继承自Event的属性 ▶继承自Event的属性 ▶继承自Event的属性 ▶继承自Event的属性 ▶继承自Event的属性 ▶继承自Event的属性 ▶继承自Event的属性 ▶继承自Event的属性 ▶继承自Event的属性 ▶继承自Event的属性 ▶继承自Event的属性 ▶继承自Event的属性 ▶继承自Event的属性 ▶继承自Event的属性 BM.Popup和BM.Tooltip的基本模型。继承自己的自定义弹出窗口,如插件。 ▶继承自Layer的选项 咨询QQ::2480224524TileLayer.Canvas
。GridLayer可以扩展为创建一个HTML元素的平铺网格,如,
或用法示例
createTile()
方法,这将传递一个Point
对象和x
,y
和z
(缩放级别)坐标绘制的瓷砖。var CanvasLayer = BM.GridLayer.extend({
createTile: function(coords){
// create a
done()
回调。var CanvasLayer = BM.GridLayer.extend({
createTile: function(coords, done){
var error;
// create a
创建
构造
描述
BM.gridLayer(
使用提供的选项创建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
平移地图时,请在卸载之前保留此许多行和列的切片。
活动
事件
数据
描述
loading
Event
网格图层开始加载图块时触发。
tileunload
TileEvent
在移除瓷砖时触发(例如,当瓷砖离开屏幕时)。
tileloadstart
TileEvent
请求磁贴并在开始加载时触发。
tileerror
TileErrorEvent
加载磁贴时出错。
tileload
TileEvent
当瓷砖加载时触发。
load
Event
当网格图层加载所有可见的图块时触发。
方法
方法
返回
描述
bringToFront()
this
bringToBack()
this
getContainer()
HTMLElement
setOpacity(
this
setZIndex(
this
isLoading()
Boolean
true
如果在网格层有块尚未加载完毕。
redraw()
this
getTileSize()
Point
createTile()
方法使用。GridLayer
应重新实施以下方法。
方法
返回
描述
createTile(
HTMLElement
GridLayer
。返回HTMLElement
给定的对应项coords
。如果done
指定了回调,则必须在切片完成加载和绘制时调用它。经纬度
用法示例
var latlng = BM.latLng(50.5, 30.5);
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(
创建表示具有给定纬度和经度(以及可选的高度)的地理点的对象。
BM.latLng(
期待一个表格
[Number, Number]
或[Number, Number, Number]
相反的数组。
BM.latLng(
期待表格的简单对象
{lat: Number, lng: Number}
或{lat: Number, lng: Number, alt: Number}
替代。方法
方法
返回
描述
equals(
Boolean
true
如果给定的LatLng
点是在相同的位置(错误的小幅度的范围内)。设置maxMargin
为较小的数字可以覆盖误差范围。
toString()
String
distanceTo(
Number
LatLng
使用球面余弦定律计算的给定距离(以米为单位)。
wrap()
LatLng
LatLng
包装经度的新对象,使其始终介于-180和+180度之间。
toBounds(
LatLngBounds
LatLngBounds
对象,其中每个边界与sizeInMeters/2
米相距几米LatLng
。属性
属性
类型
描述
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);
map.fitBounds([
[40.712, -74.227],
[40.774, -74.125]
]);
LatLngBounds
不会从BM的Class
对象继承,这意味着新类不能从它继承,并且无法使用该include
函数向其添加新方法。创建
构造
描述
BM.latLngBounds(
LatLngBounds
通过定义矩形的两个对角相对的角来创建对象。
BM.latLngBounds(
创建
LatLngBounds
由其包含的地理点定义的对象。对于缩放地图以适合特定的一组位置非常有用fitBounds
。方法
方法
返回
描述
extend(
this
extend(
this
pad(
LatLngBounds
getCenter()
LatLng
getSouthWest()
LatLng
getNorthEast()
LatLng
getNorthWest()
LatLng
getSouthEast()
LatLng
getWest()
Number
getSouth()
Number
getEast()
Number
getNorth()
Number
contains(
Boolean
true
如果矩形包含给定的矩形,则返回。
contains(
Boolean
true
如果矩形包含给定点,则返回。
intersects(
Boolean
true
如果矩形与给定边界相交,则返回。如果两个边界至少有一个共同点,则两个边界相交。
overlaps(
Boolean
true
如果矩形与给定边界重叠,则返回。如果它们的交点是一个区域,则两个边界重叠。
toBBoxString()
String
equals(
Boolean
true
如果矩形相当于(误差的小幅度内)到给定的界限。设置maxMargin
为较小的数字可以覆盖误差范围。
isValid()
Boolean
true
如果正确初始化边界,则返回。点
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(
使用给定
x
和y
坐标创建Point对象。如果optional round
设置为true,则舍入x
和y
值。
BM.point(
期待一个表格的数组
[x, y]
。
BM.point(
期待表格的普通对象
{x: Number, y: Number}
。方法
方法
返回
描述
clone()
Point
add(
Point
subtract(
Point
divideBy(
Point
multiplyBy(
Point
scaleBy(
Point
scale
。在线性代数项中,将该点乘以 定义的 缩放矩阵scale
。
unscaleBy(
Point
scaleBy
。将当前点的每个坐标除以每个坐标scale
。
round()
Point
floor()
Point
ceil()
Point
trunc()
Point
distanceTo(
Number
equals(
Boolean
true
如果给定点具有相同的坐标,则返回。
contains(
Boolean
true
给定的点的两个坐标是小于相应的当前点坐标(绝对值)。
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(
从两个角坐标对创建一个Bounds对象。
BM.bounds(
从给定的点数组创建Bounds对象。
方法
方法
返回
描述
extend(
this
getCenter(
Point
getBottomLeft()
Point
getTopRight()
Point
getTopLeft()
Point
this.min
)。
getBottomRight()
Point
this.max
)。
getSize()
Point
contains(
Boolean
true
如果矩形包含给定的矩形,则返回。
contains(
Boolean
true
如果矩形包含给定点,则返回。
intersects(
Boolean
true
如果矩形与给定边界相交,则返回。如果两个边界至少有一个共同点,则两个边界相交。
overlaps(
Boolean
true
如果矩形与给定边界重叠,则返回。如果它们的交点是一个区域,则两个边界重叠。属性
属性
类型
描述
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(
使用给定选项创建图标实例。
选项
配置
类型
默认
描述
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
根据选项设置样式的HTML元素。
createShadow(
HTMLElement
createIcon
,但对于它下面的阴影。Icon.Default
Icon
,表示Marker
当没有指定图标时在s中使用的图标。指向bm版本一起分发的蓝色标记图像。要自定义默认图标,只需更改BM.Icon.Default.prototype.options
(一组Icon options
)的属性。如果要完全替换默认图标, BM.Marker.prototype.options.icon
请改为使用您自己的图标。
配置
类型
默认
描述
imagePath
String
Icon.Default
将尝试自动检测蓝色图标图像的位置。如果要以非标准方式放置这些图像,请将此选项设置为指向正确的路径。DivIcon
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);
创建
方法
描述
BM.divIcon(
一个创建³³新的
DivIcon
并配置。配置
配置
类型
默认
描述
html
String
''
自定义HTML元素,默为未空
bgPos
Point
[0, 0]
设置背景相对位置(单位px)
方法
Control.Zoom
zoomControl
选项设置为false
。延伸Control
。创建
构造
描述
BM.control.zoom(
创建缩放控件
选项
配置
类型
默认
描述
zoomInText
String
'+'
“放大”按钮上设置的文字。
zoomInTitle
String
'Zoom in'
标题设置在“放大”按钮上。
zoomOutText
String
'−
''缩小'按钮上设置的文字。
zoomOutTitle
String
'Zoom out'
标题设置在“缩小”按钮上。
方法
Control.Attribution
attributionControl
选项设置为false
,并且它会自动使用该getAttribution
方法从图层中提取属性文本。扩展控制。创建
构造
描述
BM.control.attribution(
创建归因控件。
选项
配置
类型
默认
描述
prefix
String
bm
在属性之前显示的HTML文本。通过
false
禁用。方法
方法
返回
描述
setPrefix(
this
addAttribution(
this
'Vector data © Mapbox'
)。
removeAttribution(
this
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
对象作为值:{
"
{"
My Layer": myLayer}
创建
构造
描述
BM.control.layers(
使用给定图层创建归因控件。基础层将使用单选按钮切换,而叠加将使用复选框切换。请注意,所有基础图层都应在基础图层对象中传递,但在地图实例化期间只应将一个基础图层添加到地图中。
选项
配置
类型
默认
描述
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)
。默认情况下,它按名称的字母顺序对图层进行排序。方法
方法
返回
描述
addBaseLayer(
this
addOverlay(
this
removeLayer(
this
expand()
this
collapse()
this
Control.Scale
Control
。用法示例
BM.control.scale().addTo(map);
创建
构造
描述
BM.control.scale(
使用给定选项创建缩放控件。
选项
配置
类型
默认
描述
maxWidth
Number
100
控件的最大宽度(以像素为单位)。动态设置宽度以显示圆值(例如100,200,500)。
metric
Boolean
True
是否显示公制刻度线(m / km)。
imperial
Boolean
True
是否显示英制刻度线(mi / ft)。
updateWhenIdle
Boolean
false
如果
true
,控件更新moveend
,否则它始终是最新的(更新move
)。方法
浏览器
用法示例
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
当浏览器支持时。
svg
Boolean
true
当浏览器支持SVG时。
vml
Boolean
true
如果浏览器支持VML。UTIL
功能
功能
返回
描述
extend(
Object
将
src
对象(或多个对象)的属性合并到dest
对象中并返回后者。有BM.extend
捷径。
create(
Object
Object.create的兼容性polyfill
bind(
Function
返回绑定到传递的参数的新函数,如Function.prototype.bind。有
BM.bind()
捷径。
stamp(
Number
返回对象的唯一ID,如果没有它,则指定一个对象。
throttle(
Function
返回一个执行
fn
具有给定范围的函数的函数context
(以便this
关键字引用context
内部fn
的代码)。fn
每个给定量的函数 调用的次数不会超过一次time
。绑定函数接收的参数将是绑定函数时传递的任何参数,后跟调用绑定函数时传递的任何参数。有BM.throttle
捷径。
wrapNum(
Number
以这样的方式返回
num
模数range
,使其位于 range[0]
和中range[1]
。返回值将始终小于range[1]
除非includeMax
设置为true
。
falseFn()
Function
返回一个总是返回的函数
false
。
formatNum(
Number
返回
num
舍入为digits
小数的数字,或默认返回6位小数。
trim(
String
String.prototype.trim的兼容性polyfill
splitWords(
String[]
修剪并拆分空格上的字符串并返回部件数组。
setOptions(
Object
合并给定的属性添加到
options
了的obj
对象,返回结果的选项。见Class options
。有BM.setOptions
捷径。
getParamString(
String
将对象转换为参数URL字符串,例如
{a: "foo", b: "bar"}
转换为'?a=foo&b=bar'
。如果existingUrl
设置,则参数将在末尾附加。如果uppercase
是true
,参数名称将为大写(例如'?A=foo&B=bar'
)
template(
String
简单的模板工具,接受表单的模板字符串
'Hello {a}, {b}'
和数据对象{a: 'foo', b: 'bar'}
,返回计算字符串 ('Hello foo, bar')
。您还可以为数据值指定函数而不是字符串 - 它们将data
作为参数传递。
isArray(obj)
Boolean
Array.isArray的兼容性polyfill
indexOf(
Number
Array.prototype.indexOf的兼容性polyfill
requestAnimFrame(
Number
fn
浏览器重新绘制时要执行的计划。如果有的话,这fn
是必然的 context
。当immediate
设置,fn
则如果浏览器不具备原生支持立即打电话 window.requestAnimationFrame
,否则就延迟了。返回可用于取消请求的请求ID。
cancelAnimFrame(
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(
使用给定系数实例化Transformation对象。
BM.transformation(
期望表单的系数数组
[a: Number, b: Number, c: Number, d: Number]
。方法
方法
返回
描述
transform(
Point
BM.Point
实例,而不接受数组。
untransform(
Point
BM.Point
实例,而不接受数组。LineUtil
功能
功能
返回
描述
simplify(
Point[]
使用Douglas-Peucker算法,在保持其形状的同时显着减少折线中的点数并返回一个新的简化点阵列 。用于处理/显示每个缩放级别bm折线并且还降低视觉噪声时的巨大性能提升。容差会影响简化量(较小的值意味着更高的质量,但速度更慢,点数更多)。也作为分离的微库Simplify.js发布。
pointToSegmentDistance(
Number
返回点之间的距离
p
和段p1
来p2
。
closestPointOnSegment(
Number
返回从一个点的最近点
p
上的段p1
来p2
。
clipSegment(
Point[]|Boolean
使用Cohen-Sutherland算法通过矩形边界剪切片段a到b (直接修改片段点!)。
isFlat(
Boolean
如果
latlngs
是平面数组,则返回true ,嵌套为false。PolyUtil
功能
功能
返回
描述
clipPolygon(
Point[]
剪切由给
points
定边界定义的多边形几何体(使用Sutherland-Hodgman算法)。请注意,多边形点需要不同的裁剪算法而不是折线,因此有一个单独的方法。DomEvent
功能
功能
返回
描述
on(
this
将侦听器函数(
fn
)添加到元素的特定DOM事件类型el
。您可以选择指定侦听器的上下文(this
关键字将指向的对象)。您还可以传递多个以空格分隔的类型(例如'click dblclick'
)。
on(
this
添加一组类型/侦听器对,例如
{click: onClick, mousemove: onMouseMove}
off(
this
删除以前添加的侦听器功能。请注意,如果将自定义上下文传递给on,则必须传递相同的上下文
off
才能删除侦听器。
off(
this
删除一组类型/侦听器对,例如
{click: onClick, mousemove: onMouseMove}
stopPropagation(
this
停止给定事件传播到父元素。在侦听器函数中使用:
BM.DomEvent.on(div, 'click', function (ev) {
BM.DomEvent.stopPropagation(ev);
});
disableScrollPropagation(
this
添加
stopPropagation
到元素的'mousewheel'
事件(以及浏览器变体)。
disableClickPropagation(
this
添加
stopPropagation
到元素的'click'
,'doubleclick'
,'mousedown'
和'touchstart'
事件(加上浏览器变种)。
preventDefault(
this
阻止DOM事件的默认操作
ev
发生(例如,跟随a元素的href中的链接,或者在提交a时执行带有页面重新加载的POST请求)。在侦听器函数中使用它。
stop(
this
是
stopPropagation
和preventDefault
同时。
getMousePosition(
Point
container
如果未指定,则从DOM事件相对于整个页面获取标准化的鼠标位置 。
getWheelDelta(
Number
从鼠标滚轮DOM事件获取标准化的轮增量,以垂直像素滚动(如果向下滚动则为负)。来自没有精确滚动的指点设备的事件被映射到60像素的最佳猜测。
addListener(…)
this
别名来
BM.DomEvent.on
removeListener(…)
this
别名来
BM.DomEvent.off
DomUtil
HTMLElement
也适用于SVG元素。唯一的区别是类引用了SVG中的CSS类和SVG中的SVG类。功能
功能
返回
描述
get(
HTMLElement
返回给定其DOM id的元素,如果直接传递则返回元素本身。
getStyle(
String
返回元素上某个样式属性的值,包括计算值或通过CSS设置的值。
create(
HTMLElement
创建一个HTML元素
tagName
,将其类设置为className
,并可选择将其附加到container
元素。
remove(
el
从其父元素中删除
empty(
删除所有
el
的子元素el
toFront(
制作
el
其父级的最后一个子级,因此它在其他子级之前呈现。
toBack(
使
el
其父元素的第一个子元素成为其他子元素的后代。
hasClass(
Boolean
返回
true
元素的class属性是否包含name
。
addClass(
添加
name
到元素的class属性。
removeClass(
name
从元素的class属性中删除。
setClass(
设置元素的类。
getClass(
String
返回元素的类。
setOpacity(
设置元素的不透明度(包括旧的IE支持)。
opacity
必须从数量0
到1
。
testProp(
String|false
遍历样式名称数组并返回第一个名称,该名称是元素的有效样式名称。如果找不到这样的名称,则返回false。对于像
transform
。这样的供应商前缀样式很有用。
setTransform(
重置3D CSS变换,
el
使其按offset
像素平移,并可选择按比例缩放scale
。如果浏览器不支持3D CSS变换,则无效。
setPosition(
设置
el
指定坐标的位置position
,使用CSS平移或顶部/左侧定位,具体取决于浏览器bm内部用于定位其图层)。
getPosition(
Point
返回先前使用setPosition定位的元素的坐标。
disableTextSelection()
阻止用户生成
selectstart
DOM事件,通常在用户将鼠标拖动到带有文本的页面时生成。bm在内部使用,以覆盖地图上任何单击和拖动交互的行为。影响整个文档的拖动交互。
enableTextSelection()
取消之前的效果
BM.DomUtil.disableTextSelection
。
disableImageDrag()
如
BM.DomUtil.disableTextSelection
,但对于dragstart
DOM事件,通常当用户拖动的图像生成。
enableImageDrag()
取消之前的效果
BM.DomUtil.disableImageDrag
。
preventOutline(
使 元素的轮廓
el
不可见。bm内部使用,以防止可聚焦元素在用户对它们执行拖动交互时显示轮廓。
restoreOutline()
取消之前的效果
BM.DomUtil.preventOutline
。属性
属性
类型
描述
TRANSFORM
String
供应商前缀的转换样式名称(例如,
'webkitTransform'
对于WebKit)。
TRANSITION
String
供应商前缀过渡样式名称。
TRANSITION_END
String
供应商前缀的transitionend事件名称。
PosAnimation
用法示例
var fx = new BM.PosAnimation();
fx.run(el, [300, 500], 0.5);
构造函数
构造函数
描述
BM.PosAnimation()
创建一个
PosAnimation
对象。活动
事件
数据
描述
start
Event
动画开始时触发
step
Event
在动画期间连续拍摄。
end
Event
动画结束时触发。
方法
方法
返回
描述
run(
0.25
默认)和宽松的线性因子(的第三参数三次Bezier曲线, 0.5
默认情况下)。
stop()
可拖动
BM.DomUtil.setPosition
。用法示例
var draggable = new BM.Draggable(elementToDrag);
draggable.enable();
构造函数
构造函数
描述
BM.Draggable(
开始拖动元素时创建一个
Draggable
移动对象(默认情况下等于自身)。el
dragHandle
el
选项
配置
类型
默认
描述
clickTolerance
Number
3
用户可以在单击期间移动鼠标指针的最大像素数,以使其被视为有效点击(与鼠标拖动相反)。
活动
事件
数据
描述
down
Event
阻力即将开始时被触发。
dragstart
Event
拖动开始时触发
predrag
Event
在每次相应更新元素位置之前,在拖动过程中连续触发。
drag
Event
在拖动过程中连续触发。
dragend
DragEndEvent
拖动结束时触发。
方法
方法
返回
描述
enable()
disable()
类
用法示例
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);
};
var MyChildClass = MyClass.extend({
// ... new properties and methods
});
var a = new MyChildClass();
a instanceof MyChildClass; // true
a instanceof MyClass; // true
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}
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(
Function
给定要包含的属性,扩展当前类。返回一个Javascript函数,它是一个类构造函数(要调用
new
)。
include(
this
包含当前类的mixin。
mergeOptions(
this
合并
options
到类的默认值。
addInitHook(
this
向类添加构造函数钩子。
事件触发
Map
和Marker
)之间共享的一组方法。通常,事件允许您在对象发生某些事情时执行某些功能(例如,用户点击地图,导致地图触发'click'
事件)。用法示例
map.on('click', function(e) {
alert(e.latlng);
} );
function onClick(e) { ... }
map.on('click', onClick);
map.off('click', onClick);
方法
方法
返回
描述
on(
this
fn
)添加到对象的特定事件类型。您可以选择指定侦听器的上下文(this关键字指向的对象)。您还可以传递多个以空格分隔的类型(例如'click dblclick'
)。
on(
this
{click: onClick, mousemove: onMouseMove}
off(
this
on
,则必须传递相同的上下文off
才能删除侦听器。
off(
this
off()
this
fire(
this
listens(
Boolean
true
如果一个特定的事件类型有附带任何听众。
once(…)
this
on(…)
,除了监听器只会被触发一次然后被删除。
addEventParent(
this
Evented
将接收传播事件的事件
removeEventParent(
this
addEventListener(…)
this
on(…)
removeEventListener(…)
this
off(…)
clearAllEventListeners(…)
this
off()
addOneTimeEventListener(…)
this
once(…)
fireEvent(…)
this
fire(…)
hasEventListeners(…)
Boolean
listens(…)
层
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(
this
remove()
this
removeFrom(
this
getPane(
HTMLElement
HTMLElement
表示地图上命名窗格的内容。如果name
省略,则返回此图层的窗格。
getAttribution()
String
attribution control
,返回归属选项。BM.Layer
(并重新)实现以下方法。
方法
返回
描述
onAdd(
this
map panes
它们应该属于的位置,并将侦听器放在相关的地图事件上。打电话给map.addLayer(layer)
。
onRemove(
this
onAdd
。打电话给map.removeLayer(layer)
。
getEvents()
Object
{ viewreset: this._reset }
for 的对象addEventListener
。此对象中的事件处理程序将自动添加到地图中并与您的图层一起删除。
getAttribution()
String
Attribution control
在图层可见时显示。
beforeAdd(
this
map.addLayer(layer)
在将图层添加到地图之前,在事件初始化之前调用,而不等到地图处于可用状态。仅用于早期初始化。var layer = BM.Polygon(latlngs).bindPopup('Hi There!').addTo(map);
layer.openPopup();
layer.closePopup();
方法
返回
描述
bindPopup(
this
content
将弹出窗口绑定到图层,并设置必要的事件侦听器。如果a Function
被传递,它将接收图层作为第一个参数,并应返回一个String
或HTMLElement
。
unbindPopup()
this
bindPopup
。
openPopup(
this
latlng
如果未latlng
传递,则在指定或默认弹出锚点处打开绑定弹出窗口。
closePopup()
this
togglePopup()
this
isPopupOpen()
boolean
true
如果绑定到该层的弹出当前处于打开状态。
setPopupContent(
this
getPopup()
Popup
var layer = BM.Polygon(latlngs).bindTooltip('Hi There!').addTo(map);
layer.openTooltip();
layer.closeTooltip();
方法
返回
描述
bindTooltip(
this
content
将工具提示绑定到图层并设置必要的事件侦听器。如果a Function
被传递,它将接收图层作为第一个参数,并应返回一个String
或HTMLElement
。
unbindTooltip()
this
bindTooltip
。
openTooltip(
this
latlng
如果未latlng
传递,则在指定或默认工具提示锚点处打开绑定工具提示。
closeTooltip()
this
toggleTooltip()
this
isTooltipOpen()
boolean
true
绑定到此图层的工具提示当前是否打开。
setTooltipContent(
this
getTooltip()
Tooltip
交互层
Layer
s可以是交互式的 - 当用户与这样的层交互时click
,mouseover
可以处理类似和可以处理的鼠标事件。使用事件处理方法来处理这些事件。选项
配置
类型
默认
描述
interactive
Boolean
true
如果
false
,图层不会发出鼠标事件,并将作为底层地图的一部分。
bubblingMouseEvents
Boolean
true
何时
true
,此图层上的鼠标事件将在地图上触发相同的事件(除非BM.DomEvent.stopPropagation
使用)。活动
事件
数据
描述
click
MouseEvent
用户单击(或点击)图层时触发。
dblclick
MouseEvent
当用户双击(或双击)图层时触发。
mousedown
MouseEvent
当用户在图层上按下鼠标按钮时触发。
mouseup
MouseEvent
当用户释放在图层上按下的鼠标按钮时触发。
mouseover
MouseEvent
鼠标进入图层时触发。
mouseout
MouseEvent
当鼠标离开图层时触发。
contextmenu
MouseEvent
当用户右键单击图层时触发,防止默认浏览器上下文菜单显示此事件是否有侦听器。当用户持续一次触摸(也称为长按)时,也会在手机上触发。
方法
控制
选项
配置
类型
默认
描述
position
String
'topright'
控件的位置(地图角之一)。可能的值是
'topleft'
, 'topright'
,'bottomleft'
或者'bottomright'
方法
方法
返回
描述
getPosition()
string
setPosition(
this
getContainer()
HTMLElement
addTo(
this
remove()
this
BM.Control
(并重新)实现以下方法。
方法
返回
描述
onAdd(
HTMLElement
control.addTo(map)
。
onRemove(
onAdd
。打电话给control.remove()
。处理器
方法
方法
返回
描述
enable()
this
disable()
this
enabled()
Boolean
true
如果启用了处理程序,则返回Handler
必须实现以下两个方法:
方法
返回
描述
addHooks()
removeHooks()
功能
功能
返回
描述
addTo(
this
使用给定名称将新Handler添加到给定映射。
投影
方法
方法
返回
描述
project(
Point
BM.LatLng
实例,而不接受数组。
unproject(
LatLng
project
。将2D点投影到地理位置。仅接受实际BM.Point
实例,而不接受数组。请注意,投影实例不从BM的Class
对象继承,也无法实例化。此外,新类不能从它们继承,并且无法使用该include
函数将方法添加到它们中。属性
属性
类型
描述
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(
Point
pointToLatLng(
LatLng
latLngToPoint
。将给定缩放上的像素坐标投影到地理坐标中。
project(
Point
unproject(
LatLng
project
。
scale(
Number
256 * 2^zoom
基于墨卡托的CRS。
zoom(
Number
scale()
,返回对应于比例因子的缩放级别scale
。
getProjectedBounds(
Bounds
zoom
。
distance(
Number
wrapLatLng(
LatLng
LatLng
根据CRS wrapLat
和wrapLng
属性包装的lat和lng 的位置。
wrapLatLngBounds(
LatLngBounds
LatLngBounds
与给定大小相同的大小,确保其中心位于CRS的边界内。仅接受实际BM.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
围绕地图上的路径/对象延伸点击容差的程度
活动
事件
数据
描述
update
Event
当渲染器更新其边界,居中和缩放时触发,例如当其地图移动时
方法
事件对象
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事件的原始DOM
KeyboardEvent
。的MouseEvent
属性
类型
描述
latlng
LatLng
鼠标事件发生的地理位置。
layerPoint
Point
鼠标事件相对于地图图层发生的点的像素坐标。
containerPoint
Point
鼠标事件发生点相对于地图сontainer的像素坐标。
originalEvent
DOMEvent
触发bm事件的原始DOM
MouseEvent
或DOMTouchEvent
。LocationEvent
属性
类型
描述
latlng
LatLng
检测到用户的地理位置。
bounds
LatLngBounds
区域用户的地理界限位于(相对于位置的准确性)。
accuracy
Number
以米为单位的准确度。
altitude
Number
WGS84椭圆体上方位置的高度,以米为单位。
altitudeAccuracy
Number
海拔精度以米为单位。
heading
Number
从真北向顺时针方向的行程方向。
speed
Number
当前速度,以米/秒为单位。
timestamp
Number
获得该职位的时间。
的ErrorEvent
属性
类型
描述
message
String
错误信息。
code
Number
错误代码(如果适用)。
LayerEvent
属性
类型
描述
layer
Layer
添加或删除的图层。
LayersControlEvent
属性
类型
描述
layer
Layer
添加或删除的图层。
name
String
添加或删除的图层的名称。
TileEvent
属性
类型
描述
tile
HTMLElement
tile元素(图片)。
coords
Point
使用tile的
x
,, y
和z
(缩放级别)坐标指向对象。TileErrorEvent
属性
类型
描述
tile
HTMLElement
tile元素(图片)。
coords
Point
使用tile的
x
,, y
和z
(缩放级别)坐标指向对象。
error
*
错误传递给tile的
done()
回调。
ResizeEvent
属性
类型
描述
oldSize
Point
调整大小事件之前的旧大小。
newSize
Point
调整大小事件后的新大小。
GeoJSONEvent
属性
类型
描述
layer
Layer
要添加到地图的GeoJSON要素图层。
properties
Object
该功能的GeoJSON属性。
geometryType
String
GeoJSON几何类型的特征。
id
String
功能的GeoJSON ID(如果存在)。
PopupEvent
属性
类型
描述
popup
Popup
打开或关闭的弹出窗口。
TooltipEvent
属性
类型
描述
tooltip
Tooltip
打开或关闭的工具提示。
DragEndEvent
属性
类型
描述
distance
Number
移动可拖动元素的距离(以像素为单位)。
ZoomAnimEvent
属性
类型
描述
center
LatLng
当前的地图中心
zoom
Number
地图的当前缩放级别
noUpdate
Boolean
层是否应该由于此事件而更新其内容
DivOverlay
选项
配置
类型
默认
描述
offset
Point
Point(0, 7)
弹出位置的偏移量。用于在某些叠加层上打开弹出窗口时控制弹出窗口的锚点。
className
String
''
要分配给弹出窗口的自定义CSS类名称。
pane
String
'popupPane'
Map pane
弹出窗口将被添加的位置。