Leaflet

一个开源的 JavaScript 库
用于移动友好的交互式地图

Leaflet API 参考

本参考反映了 **Leaflet ** 。如果您使用的是其他版本的 Leaflet,请查看 此列表

地图

API 的核心类 - 用于在页面上创建地图并对其进行操作。

使用示例

// initialize the map on the "map" div with a given center and zoom
var map = L.map('map', {
	center: [51.505, -0.09],
	zoom: 13
});

创建

工厂 描述
L.map(<String> id, <地图选项> options?) 使用 <div> 元素的 DOM ID 实例化地图对象,并可以选择使用包含 地图选项 的对象文字。
L.map(<HTMLElement> el, <地图选项> options?) 使用 <div> HTML 元素的实例实例化地图对象,并可以选择使用包含 地图选项 的对象文字。

选项

选项 类型 默认值 描述
preferCanvas 布尔值 false 是否在 Canvas 渲染器上渲染 Path 。默认情况下,所有 Path 都会在 SVG 渲染器中渲染。

控件选项

选项 类型 默认值 描述
attributionControl 布尔值 true 是否默认情况下将 署名控件 添加到地图上。
zoomControl 布尔值 true 是否默认情况下将 缩放控件 添加到地图上。

交互选项

选项 类型 默认值 描述
closePopupOnClick 布尔值 true 如果不想在用户点击地图时关闭弹出框,请将其设置为 false
boxZoom 布尔值 true 地图是否可以缩放至通过按下 shift 键并拖动鼠标指定的矩形区域。
doubleClickZoom 布尔值|字符串 true 地图是否可以通过双击进行放大,并通过按住 shift 键双击进行缩小。如果传递 'center',则双击缩放将无论鼠标位置如何都缩放至视图中心。
dragging 布尔值 true 地图是否可以通过鼠标/触摸进行拖动。
zoomSnap 数字 1 强制地图的缩放级别始终为此值的倍数,尤其是在 fitBounds() 或捏合缩放之后。默认情况下,缩放级别会捕捉至最近的整数;较低的值(例如 0.50.1)允许更高的粒度。值 0 表示在 fitBounds 或捏合缩放后缩放级别不会被捕捉。
zoomDelta 数字 1 控制在 zoomIn()zoomOut()、按下键盘上的 +- 键,或使用 缩放控件 后,地图的缩放级别将变化多少。小于 1 的值(例如 0.5)允许更高的粒度。
trackResize 布尔值 true 地图是否自动处理浏览器窗口大小调整以更新自身。

平移惯性选项

选项 类型 默认值 描述
inertia 布尔值 * 如果启用,则地图的平移将具有惯性效果,其中地图在拖动时会积累动量,并在一段时间内继续沿同一方向移动。在触摸设备上感觉尤其不错。默认情况下启用。
inertiaDeceleration 数字 3000 惯性运动减速的速率,单位为像素/秒²。
inertiaMaxSpeed 数字 无穷大 惯性运动的最大速度,单位为像素/秒。
easeLinearity 数字 0.2
worldCopyJump 布尔值 false 启用此选项后,地图会跟踪您何时平移至世界的另一个“副本”,并无缝跳转至原始副本,以便所有叠加层(如标记和矢量图层)仍然可见。
maxBoundsViscosity 数字 0.0 如果设置了 maxBounds,则此选项将控制在拖动地图时边界有多坚固。默认值 0.0 允许用户以正常速度拖动至边界之外,更高的值将减慢地图在边界之外拖动的速度,而 1.0 将使边界完全坚固,防止用户拖动至边界之外。

键盘导航选项

选项 类型 默认值 描述
keyboard 布尔值 true 使地图可聚焦,并允许用户使用键盘箭头键和 +/- 键浏览地图。
keyboardPanDelta 数字 80 按下箭头键时平移的像素数。

鼠标滚轮选项

选项 类型 默认值 描述
scrollWheelZoom 布尔值|字符串 true 地图是否可以通过使用鼠标滚轮进行缩放。如果传递 'center',则将缩放至视图中心,无论鼠标位置如何。
wheelDebounceTime 数字 40 限制滚轮触发事件的速率(以毫秒为单位)。默认情况下,用户无法通过滚轮每 40 毫秒触发一次以上缩放。
wheelPxPerZoomLevel 数字 60 多少个滚动像素(由 L.DomEvent.getWheelDelta 报告)表示一个完整的缩放级别的变化。较小的值将使滚轮缩放更快(反之亦然)。

触摸交互选项

选项 类型 默认值 描述
tapHold 布尔值 启用 contextmenu 事件的模拟,对于移动版 Safari 默认为 true
tapTolerance 数字 15 用户在触摸期间可以移动手指的最大像素数,使其被视为有效点击。
touchZoom 布尔值|字符串 * 地图是否可以通过使用两个手指进行触摸拖动来进行缩放。如果传递 'center',则将缩放至视图中心,无论触摸事件(手指)位置如何。对于支持触摸的 Web 浏览器启用。
bounceAtZoomLimits 布尔值 true 如果您不想让地图缩放超出最小/最大缩放范围,然后在捏合缩放时反弹回来,请将其设置为 false。

地图状态选项

选项 类型 默认值 描述
crs CRS L.CRS.EPSG3857 要使用的 坐标参考系统 。如果您不确定这意味着什么,请不要更改它。
center LatLng undefined 地图的初始地理中心
zoom 数字 undefined 初始地图缩放级别
minZoom 数字 * 地图的最小缩放级别。如果未指定,并且地图中至少有一个 GridLayerTileLayer,则将使用它们 minZoom 选项中最小的值。
maxZoom 数字 * 地图的最大缩放级别。如果未指定,并且地图中至少有一个 GridLayerTileLayer,则将使用它们 maxZoom 选项中最大的值。
layers Layer[] [] 将最初添加到地图的图层数组
maxBounds LatLngBounds null 设置此选项后,地图会将视图限制在给定的地理边界内,如果用户尝试平移至视图之外,则会将用户弹回。要动态设置限制,请使用 setMaxBounds 方法。
renderer 渲染器 * 在地图上绘制矢量图层的默认方法。默认情况下为 L.SVGL.Canvas,具体取决于浏览器支持。

动画选项

选项 类型 默认值 描述
zoomAnimation 布尔值 true 地图缩放动画是否启用。默认情况下,它在所有支持 CSS3 过渡的浏览器中启用,除了 Android。
zoomAnimationThreshold 数字 4 如果缩放差异超过此值,则不会动画缩放。
fadeAnimation 布尔值 true 瓦片淡入动画是否启用。默认情况下,它在所有支持 CSS3 过渡的浏览器中启用,除了 Android。
markerZoomAnimation 布尔值 true 标记是否随缩放动画一起动画缩放,如果禁用,它们将在动画持续时间内消失。默认情况下,它在所有支持 CSS3 过渡的浏览器中启用,除了 Android。
transform3DLimit 数字 2^23 定义 CSS 转换转换的最大大小。默认值不应更改,除非 Web 浏览器在执行大型 panBy 后将图层放置在错误的位置。

事件

图层事件

事件 数据 描述
baselayerchange LayersControlEvent 当通过 图层控件 更改底图时触发。
overlayadd LayersControlEvent 当通过 图层控件 选择叠加层时触发。
overlayremove LayersControlEvent 当通过 图层控件 取消选择叠加层时触发。
layeradd LayerEvent 当将新图层添加到地图时触发。
layerremove LayerEvent 当从地图中移除某些图层时触发

地图状态更改事件

事件 数据 描述
zoomlevelschange 事件 当由于添加或移除图层而导致地图上的缩放级别数量更改时触发。
resize ResizeEvent 当地图大小调整时触发。
unload 事件 当使用 remove 方法销毁地图时触发。
viewreset 事件 当地图需要重新绘制其内容时触发(通常发生在地图缩放或加载时)。对于创建自定义叠加层非常有用。
load 事件 当地图初始化时触发(当首次设置其中心和缩放级别时)。
zoomstart 事件 当地图缩放即将更改时触发(例如,在缩放动画之前)。
movestart 事件 当地图的视图开始更改时触发(例如,用户开始拖动地图)。
zoom 事件 在任何缩放级别更改期间重复触发,包括缩放和飞行动画。
move 事件 在任何地图移动期间重复触发,包括平移和飞行动画。
zoomend 事件 在地图缩放更改后触发,在任何动画之后。
moveend 事件 当地图中心停止更改时触发(例如,用户停止拖动地图或在非中心缩放之后)。

弹出框事件

事件 数据 描述
popupopen PopupEvent 当在地图上打开弹出框时触发
popupclose PopupEvent 当关闭地图上的弹出框时触发
autopanstart 事件 当打开弹出框时地图开始自动平移时触发。

工具提示事件

事件 数据 描述
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 当用户按下键盘上产生字符值的键,且地图处于焦点状态时触发。
keydown KeyboardEvent 当用户按下键盘上任何键,且地图处于焦点状态时触发。与 keypress 事件不同,keydown 事件针对的是产生字符值的键和不产生字符值的键。
keyup KeyboardEvent 当用户释放键盘上的键,且地图处于焦点状态时触发。
preclick MouseEvent 在地图上单击鼠标之前触发(有时在您希望在任何现有单击处理程序开始运行之前发生单击事件时有用)。

其他事件

事件 数据 描述
zoomanim ZoomAnimEvent 每次缩放动画至少触发一次。对于连续缩放(例如捏合缩放),在缩放期间每帧触发一次。

方法

方法 返回值 描述
getRenderer(<Path> layer) 渲染器

返回用于渲染给定 PathRenderer 实例。它将确保地图和路径的 renderer 选项得到尊重,并且渲染器在地图上存在。

图层和控件的方法

方法 返回值 描述
addControl(<Control> control) this

将给定控件添加到地图中

removeControl(<Control> control) this

从地图中移除给定控件

addLayer(<Layer> layer) this

将给定图层添加到地图中

removeLayer(<Layer> layer) this

从地图中移除给定图层。

hasLayer(<Layer> layer) 布尔值

如果给定图层当前已添加到地图中,则返回 true

eachLayer(<Function> fn, <Object> context?) this

遍历地图上的图层,可以选择指定迭代器函数的上下文。

map.eachLayer(function(layer){
    layer.bindPopup('Hello');
});
openPopup(<Popup> popup) this

打开指定的弹出窗口,同时关闭先前打开的弹出窗口(以确保一次只打开一个弹出窗口,提高可用性)。

openPopup(<String|HTMLElement> content, <LatLng> latlng, <Popup 选项> options?) this

使用指定的内容和选项创建一个弹出窗口,并在地图上的给定点打开它。

closePopup(<Popup> popup?) this

关闭先前使用 openPopup(或给定的)打开的弹出窗口。

openTooltip(<Tooltip> tooltip) this

打开指定的提示。

openTooltip(<String|HTMLElement> content, <LatLng> latlng, <Tooltip 选项> options?) this

使用指定的内容和选项创建一个提示,并打开它。

closeTooltip(<Tooltip> tooltip) this

关闭作为参数给定的提示。

修改地图状态的方法

方法 返回值 描述
setView(<LatLng> center, <Number> zoom, <缩放/平移选项> options?) this

使用给定的动画选项设置地图的视图(地理中心和缩放)。

setZoom(<Number> zoom, <缩放/平移选项> options?) this

设置地图的缩放级别。

zoomIn(<Number> delta?, <缩放选项> options?) this

将地图的缩放级别增加 delta(默认情况下为 zoomDelta)。

zoomOut(<Number> delta?, <缩放选项> options?) this

将地图的缩放级别减少 delta(默认情况下为 zoomDelta)。

setZoomAround(<LatLng> latlng, <Number> zoom, <缩放选项> options) this

缩放地图,同时保持地图上指定的地理点静止(例如,在内部用于滚动缩放和双击缩放)。

setZoomAround(<Point> offset, <Number> zoom, <缩放选项> options) this

缩放地图,同时保持地图上指定的像素(相对于左上角)静止。

fitBounds(<LatLngBounds> bounds, <fitBounds 选项> options?) this

设置包含给定地理范围的地图视图,并使用可能的最大缩放级别。

fitWorld(<fitBounds 选项> options?) this

设置包含整个世界的大部分的地图视图,并使用可能的最大缩放级别。

panTo(<LatLng> latlng, <平移选项> options?) this

将地图平移到给定中心。

panBy(<Point> offset, <平移选项> options?) this

将地图平移给定的像素数量(动画)。

flyTo(<LatLng> latlng, <Number> zoom?, <缩放/平移选项> options?) this

设置地图的视图(地理中心和缩放),执行平滑的平移缩放动画。

flyToBounds(<LatLngBounds> bounds, <fitBounds 选项> options?) this

flyTo 一样设置地图的视图,但使用像 fitBounds 一样的范围参数。

setMaxBounds(<LatLngBounds> bounds) this

将地图视图限制在给定范围(参见 maxBounds 选项)。

setMinZoom(<Number> zoom) this

设置可用缩放级别的下限(参见地图或任何图层的 minZoom 选项),默认情况下为 0

setMaxZoom(<Number> zoom) this

设置可用缩放级别的上限(参见地图或任何图层的 maxZoom 选项)。

panInsideBounds(<LatLngBounds> bounds, <平移选项> options?) this

将地图平移到最接近的视图,该视图位于给定范围内部(如果尚未位于其中),并使用任何特定选项控制动画。

panInside(<LatLng> latlng, <填充选项> options?) this

将地图平移最少的距离,以使 latlng 可见。使用填充选项将显示适合更受限制的范围。如果 latlng 已经位于(可选填充的)显示范围之内,则地图将不会平移。

invalidateSize(<缩放/平移选项> options) this

检查地图容器大小是否更改,如果更改则更新地图——在您动态更改地图大小后调用它,默认情况下还执行平移动画。如果 options.panfalse,则不会发生平移。如果 options.debounceMoveendtrue,它将延迟 moveend 事件,以便即使该方法被连续多次调用,也不会频繁发生。

invalidateSize(<Boolean> animate) this

检查地图容器大小是否更改,如果更改则更新地图——在您动态更改地图大小后调用它,默认情况下还执行平移动画。

stop() this

停止当前正在运行的 panToflyTo 动画(如果有)。

地理位置方法

方法 返回值 描述
locate(<定位选项> options?) this

尝试使用 Geolocation API 定位用户,在成功时触发带有位置数据的 locationfound 事件,在失败时触发 locationerror 事件,并可以选择根据检测精度将地图视图设置为用户的位置(如果地理定位失败,则设置为世界视图)。请注意,如果您的页面不使用 HTTPS,则此方法将在现代浏览器中失败(Chrome 50 及更高版本)有关更多详细信息,请参见 定位选项

stopLocate() this

停止先前由 map.locate({watch: true}) 启动的位置跟踪,并中止重置地图视图,如果 map.locate 使用 {setView: true} 调用。

其他方法

方法 返回值 描述
addHandler(<String> name, <Function> HandlerClass) this

将新的 Handler 添加到地图中,给出它的名称和构造函数。

remove() this

销毁地图并清除所有相关事件监听器。

createPane(<String> name, <HTMLElement> container?) HTMLElement

如果给定名称的 地图面板 不存在,则创建一个新的面板,然后返回它。面板被创建为 container 的子元素,如果未设置,则创建为主地图面板的子元素。

getPane(<String|HTMLElement> pane) HTMLElement

返回 地图面板,给出它的名称或它的 HTML 元素(它的身份)。

getPanes() Object

返回一个普通对象,包含所有 面板 的名称作为键,以及面板作为值。

getContainer() HTMLElement

返回包含地图的 HTML 元素。

whenReady(<Function> fn, <Object> context?) this

当地图使用视图(中心和缩放)初始化,并且至少有一个图层时运行给定函数 fn,如果它已经初始化,则立即运行,可以选择传递函数上下文。

获取地图状态的方法

方法 返回值 描述
getCenter() LatLng

返回地图视图的地理中心

getZoom() 数字

返回地图视图的当前缩放级别

getBounds() LatLngBounds

返回当前地图视图中可见的地理范围

getMinZoom() 数字

返回地图的最小缩放级别(如果在地图或任何图层的 minZoom 选项中设置),默认情况下为 0

getMaxZoom() 数字

返回地图的最大缩放级别(如果在地图或任何图层的 maxZoom 选项中设置)。

getBoundsZoom(<LatLngBounds> bounds, <Boolean> inside?, <Point> padding?) 数字

返回给定范围完全适应地图视图的最高缩放级别。如果 inside(可选)设置为 true,该方法则返回地图视图完全适应给定范围的最低缩放级别。

getSize()

返回地图容器的当前大小(以像素为单位)。

getPixelBounds() 边界

返回当前地图视图的范围,以投影的像素坐标表示(有时在图层和覆盖层实现中很有用)。

getPixelOrigin()

返回地图图层左上角点的投影像素坐标(在自定义图层和覆盖层实现中很有用)。

getPixelWorldBounds(<Number> zoom?) 边界

返回缩放级别 zoom 的世界范围,以像素坐标表示。如果省略 zoom,则使用地图的当前缩放级别。

转换方法

方法 返回值 描述
getZoomScale(<Number> toZoom, <Number> fromZoom) 数字

返回从缩放级别 fromZoomtoZoom 的地图转换要应用的比例因子。在内部用于帮助缩放动画。

getScaleZoom(<Number> scale, <Number> fromZoom) 数字

返回地图最终到达的缩放级别,如果它处于 fromZoom 级别,并且所有内容都按比例因子 scale 缩放。是 getZoomScale 的反函数。

project(<LatLng> latlng, <Number> zoom)

根据地图 CRS 的投影投影地理坐标 LatLng,然后根据 zoom 和 CRS 的 Transformation 对其进行缩放。结果是相对于 CRS 原点的像素坐标。

unproject(<Point> point, <Number> zoom) LatLng

project 的反函数。

layerPointToLatLng(<Point> point) LatLng

给定相对于 原点像素 的像素坐标,返回相应的地理坐标(对于当前缩放级别)。

latLngToLayerPoint(<LatLng> latlng)

给定地理坐标,返回相对于 原点像素 的相应像素坐标。

wrapLatLng(<LatLng> latlng) LatLng

返回 LatLng,其中 latlng 已根据地图 CRS 的 wrapLatwrapLng 属性进行包装(如果它们位于 CRS 范围之外)。默认情况下,这意味着经度绕着日期线进行包装,因此它的值介于 -180 和 +180 度之间。

wrapLatLngBounds(<LatLngBounds> bounds) LatLngBounds

返回具有与给定范围相同大小的 LatLngBounds,确保其中心位于 CRS 范围之内。默认情况下,这意味着中心经度绕着日期线进行包装,因此它的值介于 -180 和 +180 度之间,并且范围的大部分与 CRS 范围重叠。

distance(<LatLng> latlng1, <LatLng> latlng2) 数字

根据地图的 CRS 返回两个地理坐标之间的距离。默认情况下,此方法以米为单位测量距离。

containerPointToLayerPoint(<Point> point)

给定相对于地图容器的像素坐标,返回相对于原点像素的对应像素坐标。

layerPointToContainerPoint(<Point> point)

给定相对于原点像素的像素坐标,返回相对于地图容器的对应像素坐标。

containerPointToLatLng(<Point> point) LatLng

给定相对于地图容器的像素坐标,返回相应的地理坐标(对于当前缩放级别)。

latLngToContainerPoint(<LatLng> latlng)

给定一个地理坐标,返回相对于地图容器的对应像素坐标。

mouseEventToContainerPoint(<MouseEvent> ev)

给定一个 MouseEvent 对象,返回事件发生的相对于地图容器的像素坐标。

mouseEventToLayerPoint(<MouseEvent> ev)

给定一个 MouseEvent 对象,返回事件发生的相对于原点像素的像素坐标。

mouseEventToLatLng(<MouseEvent> ev) LatLng

给定一个 MouseEvent 对象,返回事件发生的地理坐标。

方法 返回值 描述
on(<String> type, <Function> fn, <Object> context?) this

将监听函数 (fn) 添加到对象的特定事件类型。您可以选择指定监听器的上下文(this 关键字指向的对象)。您也可以传递多个用空格分隔的类型(例如 'click dblclick')。

on(<Object> eventMap) this

添加一组类型/监听器对,例如 {click: onClick, mousemove: onMouseMove}

off(<String> type, <Function> fn?, <Object> context?) this

删除先前添加的监听函数。如果没有指定函数,它将从对象中删除该特定事件的所有监听器。请注意,如果您为 on 传递了自定义上下文,则必须将相同的上下文传递给 off 才能删除监听器。

off(<Object> eventMap) this

删除一组类型/监听器对。

off() this

删除对象上所有事件的所有监听器。这包括隐式附加的事件。

fire(<String> type, <Object> data?, <Boolean> propagate?) this

触发指定类型的事件。您可以选择提供一个数据对象 - 监听函数的第一个参数将包含其属性。事件可以可选地传播到事件父级。

listens(<String> type, <Boolean> propagate?) 布尔值

如果特定事件类型有任何监听器附加到它,则返回 true。验证可以选择传播,如果父级有监听器附加到它,它将返回 true

once() this

on(…) 相同,但监听器只会被触发一次,然后被移除。

addEventParent(<Evented> obj) this

添加一个事件父级 - 一个 Evented,它将接收传播的事件

removeEventParent(<Evented> obj) this

删除一个事件父级,这样它将停止接收传播的事件

addEventListener() this

on(…) 的别名

removeEventListener() this

off(…) 的别名

clearAllEventListeners() this

off() 的别名

addOneTimeEventListener() this

once(…) 的别名

fireEvent() this

fire(…) 的别名

hasEventListeners() 布尔值

listens(…) 的别名

属性

控件

属性 类型 描述
zoomControl Control.Zoom 默认缩放控件(仅在创建地图时 zoomControl 选项true 时可用)。

处理程序

属性 类型 描述
boxZoom 处理程序 框(使用鼠标进行 shift-拖动)缩放处理程序。
doubleClickZoom 处理程序 双击缩放处理程序。
dragging 处理程序 地图拖动处理程序(通过鼠标和触控)。
keyboard 处理程序 键盘导航处理程序。
scrollWheelZoom 处理程序 滚轮缩放处理程序。
tapHold 处理程序 长按处理程序,模拟 contextmenu 事件(在移动 Safari 中有用)。
touchZoom 处理程序 触摸缩放处理程序。

地图面板

面板是 DOM 元素,用于控制地图上图层的有序排列。您可以使用 map.getPanemap.getPanes 方法访问面板。可以使用 map.createPane 方法创建新的面板。

每个地图都有以下默认面板,它们仅在 zIndex 上有所不同。

面板 类型 Z-index 描述
mapPane HTMLElement 'auto' 包含所有其他地图面板的面板
tilePane HTMLElement 200 用于 GridLayerTileLayer 的面板
overlayPane HTMLElement 400 用于矢量(Path,如 PolylinePolygon)、ImageOverlayVideoOverlay 的面板
shadowPane HTMLElement 500 用于覆盖阴影(例如 Marker 阴影)的面板
markerPane HTMLElement 600 用于 MarkerIcon 的面板
tooltipPane HTMLElement 650 用于 Tooltip 的面板。
popupPane HTMLElement 700 用于 Popup 的面板。

定位选项

Map 的一些地理定位方法接受一个 options 参数。这是一个普通的 javascript 对象,包含以下可选组件
选项 类型 默认值 描述
watch 布尔值 false 如果为 true,则使用 W3C watchPosition 方法开始持续监视位置变化(而不是检测一次)。您以后可以使用 map.stopLocate() 方法停止监视。
setView 布尔值 false 如果为 true,则会根据检测精度自动将地图视图设置为用户位置,或者如果地理定位失败则设置为世界视图。
maxZoom 数字 无穷大 使用 setView 选项时自动设置视图的最大缩放级别。
timeout 数字 10000 在触发 locationerror 事件之前等待地理定位响应的毫秒数。
maximumAge 数字 0 检测到的位置的最大年龄。如果距离上次地理定位响应不到此毫秒数,locate 将返回缓存的位置。
enableHighAccuracy 布尔值 false 启用高精度,请参阅 W3C 规范中的描述

缩放选项

一些 Map 方法修改缩放级别,这些方法接受一个 options 参数。这是一个普通的 javascript 对象,包含以下可选组件
选项 类型 默认值 描述
animate 布尔值 如果未指定,则缩放动画将在缩放原点位于当前视图内时发生。如果为 true,则地图将尝试进行缩放动画,而不管缩放原点在哪里。将 false 设置为始终完全重置视图,不进行动画。

平移选项

一些 Map 方法修改地图中心,这些方法接受一个 options 参数。这是一个普通的 javascript 对象,包含以下可选组件
选项 类型 默认值 描述
animate 布尔值 如果为 true,则平移始终会进行动画(如果可能)。如果为 false,它将不进行平移动画,无论是重置地图视图(如果平移超过一个屏幕),还是只设置地图面板的新偏移量(除了 panBy 始终执行后者)。
duration 数字 0.25 动画平移的持续时间,以秒为单位。
easeLinearity 数字 0.25 平移动画缓动曲线的曲率因子(三次贝塞尔曲线 的第三个参数)。1.0 表示线性动画,这个数字越小,曲线越弯曲。
noMoveStart 布尔值 false 如果为 true,则平移在开始时不会触发 movestart 事件(在内部用于平移惯性)。

缩放/平移选项

选项 类型 默认值 描述
animate 布尔值 如果未指定,则缩放动画将在缩放原点位于当前视图内时发生。如果为 true,则地图将尝试进行缩放动画,而不管缩放原点在哪里。将 false 设置为始终完全重置视图,不进行动画。
选项 类型 默认值 描述
duration 数字 0.25 动画平移的持续时间,以秒为单位。
easeLinearity 数字 0.25 平移动画缓动曲线的曲率因子(三次贝塞尔曲线 的第三个参数)。1.0 表示线性动画,这个数字越小,曲线越弯曲。
noMoveStart 布尔值 false 如果为 true,则平移在开始时不会触发 movestart 事件(在内部用于平移惯性)。

填充选项

选项 类型 默认值 描述
paddingTopLeft [0, 0] 设置地图容器左上角的填充量,在将视图设置为适合边界时不应考虑这些填充。如果您在地图上有一些控制覆盖层,例如侧边栏,并且您不希望它们遮挡您正在缩放到的对象,这将很有用。
paddingBottomRight [0, 0] 地图右下角的相同内容。
padding [0, 0] 等同于将左上角和右下角的填充都设置为相同的值。

FitBounds 选项

选项 类型 默认值 描述
maxZoom 数字 null 要使用的最大缩放级别。
选项 类型 默认值 描述
animate 布尔值 如果未指定,则缩放动画将在缩放原点位于当前视图内时发生。如果为 true,则地图将尝试进行缩放动画,而不管缩放原点在哪里。将 false 设置为始终完全重置视图,不进行动画。
选项 类型 默认值 描述
duration 数字 0.25 动画平移的持续时间,以秒为单位。
easeLinearity 数字 0.25 平移动画缓动曲线的曲率因子(三次贝塞尔曲线 的第三个参数)。1.0 表示线性动画,这个数字越小,曲线越弯曲。
noMoveStart 布尔值 false 如果为 true,则平移在开始时不会触发 movestart 事件(在内部用于平移惯性)。
选项 类型 默认值 描述
paddingTopLeft [0, 0] 设置地图容器左上角的填充量,在将视图设置为适合边界时不应考虑这些填充。如果您在地图上有一些控制覆盖层,例如侧边栏,并且您不希望它们遮挡您正在缩放到的对象,这将很有用。
paddingBottomRight [0, 0] 地图右下角的相同内容。
padding [0, 0] 等同于将左上角和右下角的填充都设置为相同的值。

标记

L.Marker 用于在地图上显示可点击/可拖动的图标。扩展了 Layer

使用示例

L.marker([50.5, 30.5]).addTo(map);

创建

工厂 描述
L.marker(<LatLng> latlng, <Marker 选项> options?) 给定一个地理点和一个可选的选项对象,实例化一个 Marker 对象。

选项

选项 类型 默认值 描述
icon 图标 * 用于渲染标记的图标实例。有关如何自定义标记图标的详细信息,请参阅 Icon 文档。如果未指定,则使用 L.Icon.Default 的一个通用实例。
keyboard 布尔值 true 标记是否可以被键盘选中,并通过按 Enter 键点击。
title String '' 用于标记悬停时显示的浏览器工具提示的文本(默认情况下没有工具提示)。对于可访问性很有用
alt String 'Marker' 图标图像 alt 属性的文本。对于可访问性很有用
zIndexOffset 数字 0 默认情况下,标记图像的 zIndex 是根据其纬度自动设置的。如果您想将标记放在所有其他标记之上(或下方),请使用此选项,指定一个较高的值,例如 1000(或较高的负值)。
opacity 数字 1.0 标记的不透明度。
riseOnHover 布尔值 false 如果为 true,当您将鼠标悬停在标记上时,标记将位于其他标记之上。
riseOffset 数字 250 用于 riseOnHover 功能的 z-index 偏移。
pane String 'markerPane' 标记图标将被添加到其中的 Map 面板
shadowPane String 'shadowPane' 标记阴影将被添加到其中的 Map 面板
bubblingMouseEvents 布尔值 false 当为 true 时,此标记上的鼠标事件将触发地图上的相同事件(除非使用 L.DomEvent.stopPropagation)。
autoPanOnFocus 布尔值 true 当为 true 时,每当标记获得焦点(例如通过按键盘上的 tab 键)时,地图都会平移,以确保标记在地图边界内可见。

可拖动标记选项

选项 类型 默认值 描述
draggable 布尔值 false 标记是否可以通过鼠标/触控拖动。
autoPan 布尔值 false 拖动此标记时,是否应平移地图到其边缘。
autoPanPadding Point(50, 50) 地图边缘开始平移地图的距离(以像素为单位,在左右和上下)。
autoPanSpeed 数字 10 地图应平移的像素数。
选项 类型 默认值 描述
interactive 布尔值 true 如果为 false,则该层将不会发出鼠标事件,并且将充当底层地图的一部分。
选项 类型 默认值 描述
attribution String null 要显示在归属控件中的字符串,例如 "© OpenStreetMap 贡献者"。它描述了图层数据,通常是针对版权持有者和瓦片提供者的法律义务。

事件

事件 数据 描述
move 事件 当标记通过 setLatLng 或通过 拖动 移动时触发。事件参数中包含旧的和新的坐标,分别为 oldLatLnglatlng

拖动事件

事件 数据 描述
dragstart 事件 当用户开始拖动标记时触发。
movestart 事件 当标记开始移动(由于拖动)时触发。
拖动 事件 用户拖动标记时反复触发。
拖动结束 DragEndEvent 用户停止拖动标记时触发。
moveend 事件 当标记停止移动(由于拖动)时触发。
事件 数据 描述
click MouseEvent 用户点击(或轻触)图层时触发。
dblclick MouseEvent 用户双击(或双击)图层时触发。
mousedown MouseEvent 用户在图层上按下鼠标按钮时触发。
mouseup MouseEvent 用户释放按下在图层上的鼠标按钮时触发。
mouseover MouseEvent 鼠标进入图层时触发。
mouseout MouseEvent 鼠标离开图层时触发。
contextmenu MouseEvent 用户右键单击图层时触发,如果此事件有监听器,则阻止默认浏览器上下文菜单显示。在移动设备上,当用户将手指按在屏幕上保持一秒钟(也称为长按)时也会触发。
事件 数据 描述
添加 事件 图层添加到地图后触发
remove 事件 图层从地图中移除后触发
事件 数据 描述
popupopen PopupEvent 绑定到此图层的弹出窗口打开时触发
popupclose PopupEvent 绑定到此图层的弹出窗口关闭时触发
事件 数据 描述
tooltipopen TooltipEvent 绑定到此图层的工具提示打开时触发。
tooltipclose TooltipEvent 绑定到此图层的工具提示关闭时触发。

方法

除了 共享图层方法,如 addTo()remove(),以及 弹出窗口方法,如 bindPopup(),您还可以使用以下方法
方法 返回值 描述
getLatLng() LatLng

返回标记当前的地理位置。

setLatLng(<LatLng> latlng) this

将标记的位置更改为给定的点。

setZIndexOffset(<Number> offset) this

更改标记的 zIndex 偏移量

getIcon() 图标

返回标记当前使用的图标

setIcon(<图标> icon) this

更改标记图标。

setOpacity(<Number> opacity) this

更改标记的不透明度。

其他方法

方法 返回值 描述
toGeoJSON(<数字|false> 精度?) Object

坐标值使用 formatNum 函数进行舍入,精度为给定的 precision。返回标记的 GeoJSON 表示(作为 GeoJSON 特征)。

方法 返回值 描述
addTo(<地图|图层组> 地图) this

将图层添加到给定的地图或图层组。

remove() this

从图层当前处于活动状态的地图中移除图层。

removeFrom(<地图> 地图) this

从给定的地图中移除图层

removeFrom(<图层组> ) this

从给定的 图层组 中移除图层

getPane(<String> 名称?) HTMLElement

返回表示地图上命名窗格的 HTMLElement。如果省略 name,则返回此图层的窗格。

getAttribution() String

attribution control 使用,返回 attribution option

方法 返回值 描述
bindPopup(<字符串|HTMLElement|函数|弹出窗口> content, <Popup 选项> options?) this

使用传递的 content 将弹出窗口绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindPopup() this

移除先前使用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 或默认的弹出窗口锚点处打开绑定的弹出窗口(如果未传递 latlng)。

closePopup() this

关闭绑定到此图层的弹出窗口(如果已打开)。

togglePopup() this

根据其当前状态打开或关闭绑定到此图层的弹出窗口。

isPopupOpen() 布尔值

如果绑定到此图层的弹出窗口当前已打开,则返回 true

setPopupContent(<字符串|HTMLElement|弹出窗口> content) this

设置绑定到此图层的弹出窗口的内容。

getPopup() 弹出框

返回绑定到此图层的弹出窗口。

方法 返回值 描述
bindTooltip(<字符串|HTMLElement|函数|工具提示> content, <Tooltip 选项> options?) this

使用传递的 content 将工具提示绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindTooltip() this

移除先前使用 bindTooltip 绑定的工具提示。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 或默认的工具提示锚点处打开绑定的工具提示(如果未传递 latlng)。

closeTooltip() this

关闭绑定到此图层的工具提示(如果已打开)。

toggleTooltip() this

根据其当前状态打开或关闭绑定到此图层的工具提示。

isTooltipOpen() 布尔值

如果绑定到此图层的工具提示当前已打开,则返回 true

setTooltipContent(<字符串|HTMLElement|工具提示> content) this

设置绑定到此图层的工具提示的内容。

getTooltip() 工具提示

返回绑定到此图层的工具提示。

方法 返回值 描述
on(<String> type, <Function> fn, <Object> context?) this

将监听函数 (fn) 添加到对象的特定事件类型。您可以选择指定监听器的上下文(this 关键字指向的对象)。您也可以传递多个用空格分隔的类型(例如 'click dblclick')。

on(<Object> eventMap) this

添加一组类型/监听器对,例如 {click: onClick, mousemove: onMouseMove}

off(<String> type, <Function> fn?, <Object> context?) this

删除先前添加的监听函数。如果没有指定函数,它将从对象中删除该特定事件的所有监听器。请注意,如果您为 on 传递了自定义上下文,则必须将相同的上下文传递给 off 才能删除监听器。

off(<Object> eventMap) this

删除一组类型/监听器对。

off() this

删除对象上所有事件的所有监听器。这包括隐式附加的事件。

fire(<String> type, <Object> data?, <Boolean> propagate?) this

触发指定类型的事件。您可以选择提供一个数据对象 - 监听函数的第一个参数将包含其属性。事件可以可选地传播到事件父级。

listens(<String> type, <Boolean> propagate?) 布尔值

如果特定事件类型有任何监听器附加到它,则返回 true。验证可以选择传播,如果父级有监听器附加到它,它将返回 true

once() this

on(…) 相同,但监听器只会被触发一次,然后被移除。

addEventParent(<Evented> obj) this

添加一个事件父级 - 一个 Evented,它将接收传播的事件

removeEventParent(<Evented> obj) this

删除一个事件父级,这样它将停止接收传播的事件

addEventListener() this

on(…) 的别名

removeEventListener() this

off(…) 的别名

clearAllEventListeners() this

off() 的别名

addOneTimeEventListener() this

once(…) 的别名

fireEvent() this

fire(…) 的别名

hasEventListeners() 布尔值

listens(…) 的别名

属性

交互处理程序

交互处理程序是标记实例的属性,允许您在运行时控制交互行为,启用或禁用某些功能,例如拖动(请参阅 Handler 方法)。示例
marker.dragging.disable();
属性 类型 描述
dragging 处理程序 标记拖动处理程序(通过鼠标和触摸)。仅在标记在地图上时有效(否则设置 marker.options.draggable)。

DivOverlay

L.DivOverlay

选项

选项 类型 默认值 描述
interactive 布尔值 false L.Popup 和 L.Tooltip 的基础模型。从它继承以创建自定义覆盖层,例如插件。
offset 如果为真,弹出窗口/工具提示将监听鼠标事件。 Point(0, 0)
覆盖层位置的偏移量。 String '' className
pane String undefined 要分配给覆盖层的自定义 CSS 类名称。
content 地图窗格,覆盖层将被添加到其中。 '' 字符串|HTMLElement|函数
选项 类型 默认值 描述
bubblingMouseEvents 布尔值 true 在初始化时设置覆盖层的 HTML 内容。如果传递的是函数,则源图层将被传递给该函数。该函数应返回一个 StringHTMLElement,用于在覆盖层中使用。
选项 类型 默认值 描述
attribution String null 要显示在归属控件中的字符串,例如 "© OpenStreetMap 贡献者"。它描述了图层数据,通常是针对版权持有者和瓦片提供者的法律义务。

事件

true 时,此图层上的鼠标事件将触发地图上的相同事件(除非使用 L.DomEvent.stopPropagation)。

事件 数据 描述
DivOverlay 事件 事件 contentupdate
事件 数据 描述
click MouseEvent 用户点击(或轻触)图层时触发。
dblclick MouseEvent 用户双击(或双击)图层时触发。
mousedown MouseEvent 用户在图层上按下鼠标按钮时触发。
mouseup MouseEvent 用户释放按下在图层上的鼠标按钮时触发。
mouseover MouseEvent 鼠标进入图层时触发。
mouseout MouseEvent 鼠标离开图层时触发。
contextmenu MouseEvent 用户右键单击图层时触发,如果此事件有监听器,则阻止默认浏览器上下文菜单显示。在移动设备上,当用户将手指按在屏幕上保持一秒钟(也称为长按)时也会触发。
事件 数据 描述
添加 事件 图层添加到地图后触发
remove 事件 图层从地图中移除后触发
事件 数据 描述
popupopen PopupEvent 绑定到此图层的弹出窗口打开时触发
popupclose PopupEvent 绑定到此图层的弹出窗口关闭时触发
事件 数据 描述
tooltipopen TooltipEvent 绑定到此图层的工具提示打开时触发。
tooltipclose TooltipEvent 绑定到此图层的工具提示关闭时触发。

方法

方法 返回值 描述
覆盖层的内容更新时触发(<地图> 地图) this

openOn

将覆盖层添加到地图。替代 map.openPopup(popup)/.openTooltip(tooltip)() this

关闭

关闭覆盖层。替代 map.closePopup(popup)/.closeTooltip(tooltip)layer.closePopup()/.closeTooltip()(<Layer> 切换) this

层?

getLatLng() LatLng

根据其当前状态打开或关闭绑定到图层的覆盖层。参数可能只被省略,对于绑定到图层的覆盖层。替代 layer.togglePopup()/.toggleTooltip()

setLatLng(<LatLng> latlng) this

返回覆盖层的地理点。

设置覆盖层将打开的地理点。() getContent

字符串|HTMLElement

返回覆盖层的内容。(setContent <字符串|HTMLElement|函数>) this

htmlContent

设置覆盖层的 HTML 内容。如果传递的是函数,则源图层将被传递给该函数。该函数应返回一个 StringHTMLElement,用于在覆盖层中使用。() getContent

getElement

返回覆盖层的 HTML 容器。() null

更新

更新覆盖层的内容、布局和位置。在内部发生更改后更新覆盖层时很有用,例如,图像加载完成。() 布尔值

isOpen

当覆盖层在地图上可见时返回 true() this

bringToFront

将此覆盖层置于其他覆盖层(在同一地图窗格中)的前面。() this

bringToBack

方法 返回值 描述
addTo(<地图|图层组> 地图) this

将图层添加到给定的地图或图层组。

remove() this

从图层当前处于活动状态的地图中移除图层。

removeFrom(<地图> 地图) this

从给定的地图中移除图层

removeFrom(<图层组> ) this

从给定的 图层组 中移除图层

getPane(<String> 名称?) HTMLElement

返回表示地图上命名窗格的 HTMLElement。如果省略 name,则返回此图层的窗格。

getAttribution() String

attribution control 使用,返回 attribution option

方法 返回值 描述
bindPopup(<字符串|HTMLElement|函数|弹出窗口> content, <Popup 选项> options?) this

使用传递的 content 将弹出窗口绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindPopup() this

移除先前使用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 或默认的弹出窗口锚点处打开绑定的弹出窗口(如果未传递 latlng)。

closePopup() this

关闭绑定到此图层的弹出窗口(如果已打开)。

togglePopup() this

根据其当前状态打开或关闭绑定到此图层的弹出窗口。

isPopupOpen() 布尔值

如果绑定到此图层的弹出窗口当前已打开,则返回 true

setPopupContent(<字符串|HTMLElement|弹出窗口> content) this

设置绑定到此图层的弹出窗口的内容。

getPopup() 弹出框

返回绑定到此图层的弹出窗口。

方法 返回值 描述
bindTooltip(<字符串|HTMLElement|函数|工具提示> content, <Tooltip 选项> options?) this

使用传递的 content 将工具提示绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindTooltip() this

移除先前使用 bindTooltip 绑定的工具提示。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 或默认的工具提示锚点处打开绑定的工具提示(如果未传递 latlng)。

closeTooltip() this

关闭绑定到此图层的工具提示(如果已打开)。

toggleTooltip() this

根据其当前状态打开或关闭绑定到此图层的工具提示。

isTooltipOpen() 布尔值

如果绑定到此图层的工具提示当前已打开,则返回 true

setTooltipContent(<字符串|HTMLElement|工具提示> content) this

设置绑定到此图层的工具提示的内容。

getTooltip() 工具提示

返回绑定到此图层的工具提示。

方法 返回值 描述
on(<String> type, <Function> fn, <Object> context?) this

将监听函数 (fn) 添加到对象的特定事件类型。您可以选择指定监听器的上下文(this 关键字指向的对象)。您也可以传递多个用空格分隔的类型(例如 'click dblclick')。

on(<Object> eventMap) this

添加一组类型/监听器对,例如 {click: onClick, mousemove: onMouseMove}

off(<String> type, <Function> fn?, <Object> context?) this

删除先前添加的监听函数。如果没有指定函数,它将从对象中删除该特定事件的所有监听器。请注意,如果您为 on 传递了自定义上下文,则必须将相同的上下文传递给 off 才能删除监听器。

off(<Object> eventMap) this

删除一组类型/监听器对。

off() this

删除对象上所有事件的所有监听器。这包括隐式附加的事件。

fire(<String> type, <Object> data?, <Boolean> propagate?) this

触发指定类型的事件。您可以选择提供一个数据对象 - 监听函数的第一个参数将包含其属性。事件可以可选地传播到事件父级。

listens(<String> type, <Boolean> propagate?) 布尔值

如果特定事件类型有任何监听器附加到它,则返回 true。验证可以选择传播,如果父级有监听器附加到它,它将返回 true

once() this

on(…) 相同,但监听器只会被触发一次,然后被移除。

addEventParent(<Evented> obj) this

添加一个事件父级 - 一个 Evented,它将接收传播的事件

removeEventParent(<Evented> obj) this

删除一个事件父级,这样它将停止接收传播的事件

addEventListener() this

on(…) 的别名

removeEventListener() this

off(…) 的别名

clearAllEventListeners() this

off() 的别名

addOneTimeEventListener() this

once(…) 的别名

fireEvent() this

fire(…) 的别名

hasEventListeners() 布尔值

listens(…) 的别名

将此覆盖层置于其他覆盖层(在同一地图窗格中)的后面。

用于在地图的某些位置打开弹出窗口。使用 Map.openPopup 打开弹出窗口,同时确保一次只打开一个弹出窗口(出于可用性考虑),或者使用 Map.addLayer 打开任意多个弹出窗口。

marker.bindPopup(popupContent).openPopup();

如果您只想将弹出窗口绑定到标记点击,然后打开它,这非常容易

路径覆盖层,如折线,也具有 bindPopup 方法。

var popup = L.popup()
	.setLatLng(latlng)
	.setContent('<p>Hello world!<br />This is a nice popup.</p>')
	.openOn(map);

弹出窗口也可以是独立的

var popup = L.popup(latlng, {content: '<p>Hello world!<br />This is a nice popup.</p>'})
	.openOn(map);
工厂 描述
选项 类型 默认值 描述
选项 类型 默认值 描述
选项 类型 默认值 描述
选项 类型 默认值 描述

事件

事件 数据 描述
事件 数据 描述
事件 数据 描述
事件 数据 描述
事件 数据 描述
方法 返回值 描述
方法 返回值 描述
方法 返回值 描述
方法 返回值 描述
方法 返回值 描述
方法 返回值 描述

工具提示

DivOverlay 继承的方法

使用示例

用于在地图图层顶部显示小文本。

marker.bindTooltip("my tooltip text").openTooltip();

如果您只想将工具提示绑定到标记

路径覆盖层,如折线,也具有 bindTooltip 方法。

var tooltip = L.tooltip()
	.setLatLng(latlng)
	.setContent('Hello world!<br />This is a nice tooltip.')
	.addTo(map);

弹出窗口也可以是独立的

var tooltip = L.tooltip(latlng, {content: 'Hello world!<br />This is a nice tooltip.'})
	.addTo(map);

工具提示也可以是独立的

  • 关于工具提示偏移量的说明。Leaflet 考虑两个选项来计算工具提示偏移量
  • offset 工具提示选项:它默认为 [0, 0],并且特定于一个工具提示。添加一个正的 x 偏移量以将工具提示移到右侧,添加一个正的 y 偏移量以将其移到底部。负值将移到左侧和顶部。

创建

工厂 描述
tooltipAnchor 图标选项:这将仅在 Marker 中考虑。如果您使用自定义图标,则应调整此值。(<Tooltip 选项> options?, <Layer> L.popup) 使用可选的 `options` 对象来实例化一个 Tooltip 对象,该对象描述了它的外观和位置,以及可选的 `source` 对象,该对象用于将 tooltip 与它所引用的图层的引用进行标记。
tooltipAnchor 图标选项:这将仅在 Marker 中考虑。如果您使用自定义图标,则应调整此值。(<LatLng> latlng, <Tooltip 选项> options?) 使用 `latlng` 实例化一个 Tooltip 对象,其中 tooltip 将打开,以及一个可选的 `options` 对象,该对象描述了它的外观和位置。

选项

选项 类型 默认值 描述
pane String 'tooltipPane' 地图面板,tooltip 将被添加到其中。
offset 如果为真,弹出窗口/工具提示将监听鼠标事件。 tooltip 位置的可选偏移量。
方向 String 'auto' 打开 tooltip 的方向。可能的值为:`right`、`left`、`top`、`bottom`、`center`、`auto`。`auto` 将根据 tooltip 在地图上的位置在 `right` 和 `left` 之间动态切换。
永久 布尔值 false 是否永久打开 tooltip 或仅在鼠标悬停时打开。
粘性 布尔值 false 如果为 true,tooltip 将跟随鼠标而不是固定在要素中心。
opacity 数字 0.9 tooltip 容器的不透明度。
选项 类型 默认值 描述
interactive 布尔值 false L.Popup 和 L.Tooltip 的基础模型。从它继承以创建自定义覆盖层,例如插件。
覆盖层位置的偏移量。 String '' className
content 地图窗格,覆盖层将被添加到其中。 '' 字符串|HTMLElement|函数
选项 类型 默认值 描述
bubblingMouseEvents 布尔值 true 在初始化时设置覆盖层的 HTML 内容。如果传递的是函数,则源图层将被传递给该函数。该函数应返回一个 StringHTMLElement,用于在覆盖层中使用。
选项 类型 默认值 描述
attribution String null 要显示在归属控件中的字符串,例如 "© OpenStreetMap 贡献者"。它描述了图层数据,通常是针对版权持有者和瓦片提供者的法律义务。

事件

事件 数据 描述
DivOverlay 事件 事件 contentupdate
事件 数据 描述
click MouseEvent 用户点击(或轻触)图层时触发。
dblclick MouseEvent 用户双击(或双击)图层时触发。
mousedown MouseEvent 用户在图层上按下鼠标按钮时触发。
mouseup MouseEvent 用户释放按下在图层上的鼠标按钮时触发。
mouseover MouseEvent 鼠标进入图层时触发。
mouseout MouseEvent 鼠标离开图层时触发。
contextmenu MouseEvent 用户右键单击图层时触发,如果此事件有监听器,则阻止默认浏览器上下文菜单显示。在移动设备上,当用户将手指按在屏幕上保持一秒钟(也称为长按)时也会触发。
事件 数据 描述
添加 事件 图层添加到地图后触发
remove 事件 图层从地图中移除后触发
事件 数据 描述
popupopen PopupEvent 绑定到此图层的弹出窗口打开时触发
popupclose PopupEvent 绑定到此图层的弹出窗口关闭时触发
事件 数据 描述
tooltipopen TooltipEvent 绑定到此图层的工具提示打开时触发。
tooltipclose TooltipEvent 绑定到此图层的工具提示关闭时触发。

方法

方法 返回值 描述
覆盖层的内容更新时触发(<地图> 地图) this

openOn

将覆盖层添加到地图。替代 map.openPopup(popup)/.openTooltip(tooltip)() this

关闭

关闭覆盖层。替代 map.closePopup(popup)/.closeTooltip(tooltip)layer.closePopup()/.closeTooltip()(<Layer> 切换) this

层?

getLatLng() LatLng

根据其当前状态打开或关闭绑定到图层的覆盖层。参数可能只被省略,对于绑定到图层的覆盖层。替代 layer.togglePopup()/.toggleTooltip()

setLatLng(<LatLng> latlng) this

返回覆盖层的地理点。

设置覆盖层将打开的地理点。() getContent

字符串|HTMLElement

返回覆盖层的内容。(setContent <字符串|HTMLElement|函数>) this

htmlContent

设置覆盖层的 HTML 内容。如果传递的是函数,则源图层将被传递给该函数。该函数应返回一个 StringHTMLElement,用于在覆盖层中使用。() getContent

getElement

返回覆盖层的 HTML 容器。() null

更新

更新覆盖层的内容、布局和位置。在内部发生更改后更新覆盖层时很有用,例如,图像加载完成。() 布尔值

isOpen

当覆盖层在地图上可见时返回 true() this

bringToFront

将此覆盖层置于其他覆盖层(在同一地图窗格中)的前面。() this

bringToBack

方法 返回值 描述
addTo(<地图|图层组> 地图) this

将图层添加到给定的地图或图层组。

remove() this

从图层当前处于活动状态的地图中移除图层。

removeFrom(<地图> 地图) this

从给定的地图中移除图层

removeFrom(<图层组> ) this

从给定的 图层组 中移除图层

getPane(<String> 名称?) HTMLElement

返回表示地图上命名窗格的 HTMLElement。如果省略 name,则返回此图层的窗格。

getAttribution() String

attribution control 使用,返回 attribution option

方法 返回值 描述
bindPopup(<字符串|HTMLElement|函数|弹出窗口> content, <Popup 选项> options?) this

使用传递的 content 将弹出窗口绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindPopup() this

移除先前使用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 或默认的弹出窗口锚点处打开绑定的弹出窗口(如果未传递 latlng)。

closePopup() this

关闭绑定到此图层的弹出窗口(如果已打开)。

togglePopup() this

根据其当前状态打开或关闭绑定到此图层的弹出窗口。

isPopupOpen() 布尔值

如果绑定到此图层的弹出窗口当前已打开,则返回 true

setPopupContent(<字符串|HTMLElement|弹出窗口> content) this

设置绑定到此图层的弹出窗口的内容。

getPopup() 弹出框

返回绑定到此图层的弹出窗口。

方法 返回值 描述
bindTooltip(<字符串|HTMLElement|函数|工具提示> content, <Tooltip 选项> options?) this

使用传递的 content 将工具提示绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindTooltip() this

移除先前使用 bindTooltip 绑定的工具提示。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 或默认的工具提示锚点处打开绑定的工具提示(如果未传递 latlng)。

closeTooltip() this

关闭绑定到此图层的工具提示(如果已打开)。

toggleTooltip() this

根据其当前状态打开或关闭绑定到此图层的工具提示。

isTooltipOpen() 布尔值

如果绑定到此图层的工具提示当前已打开,则返回 true

setTooltipContent(<字符串|HTMLElement|工具提示> content) this

设置绑定到此图层的工具提示的内容。

getTooltip() 工具提示

返回绑定到此图层的工具提示。

方法 返回值 描述
on(<String> type, <Function> fn, <Object> context?) this

将监听函数 (fn) 添加到对象的特定事件类型。您可以选择指定监听器的上下文(this 关键字指向的对象)。您也可以传递多个用空格分隔的类型(例如 'click dblclick')。

on(<Object> eventMap) this

添加一组类型/监听器对,例如 {click: onClick, mousemove: onMouseMove}

off(<String> type, <Function> fn?, <Object> context?) this

删除先前添加的监听函数。如果没有指定函数,它将从对象中删除该特定事件的所有监听器。请注意,如果您为 on 传递了自定义上下文,则必须将相同的上下文传递给 off 才能删除监听器。

off(<Object> eventMap) this

删除一组类型/监听器对。

off() this

删除对象上所有事件的所有监听器。这包括隐式附加的事件。

fire(<String> type, <Object> data?, <Boolean> propagate?) this

触发指定类型的事件。您可以选择提供一个数据对象 - 监听函数的第一个参数将包含其属性。事件可以可选地传播到事件父级。

listens(<String> type, <Boolean> propagate?) 布尔值

如果特定事件类型有任何监听器附加到它,则返回 true。验证可以选择传播,如果父级有监听器附加到它,它将返回 true

once() this

on(…) 相同,但监听器只会被触发一次,然后被移除。

addEventParent(<Evented> obj) this

添加一个事件父级 - 一个 Evented,它将接收传播的事件

removeEventParent(<Evented> obj) this

删除一个事件父级,这样它将停止接收传播的事件

addEventListener() this

on(…) 的别名

removeEventListener() this

off(…) 的别名

clearAllEventListeners() this

off() 的别名

addOneTimeEventListener() this

once(…) 的别名

fireEvent() this

fire(…) 的别名

hasEventListeners() 布尔值

listens(…) 的别名

TileLayer

用于在 map 上加载和显示瓦片图层。请注意,大多数瓦片服务器需要归属信息,您可以在 Layer 下设置。

使用示例

L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png?{foo}', {foo: 'bar', attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'}).addTo(map);

URL 模板

以下形式的字符串

'https://{s}.somedomain.com/blabla/{z}/{x}/{y}{r}.png'

{s} 表示一个可用的子域(按顺序使用以帮助解决浏览器对每个域的并行请求限制;子域值在选项中指定;默认情况下为 `a`、`b` 或 `c`,可以省略),`{z} — 缩放级别,`{x} 和 ` {y} — 瓦片坐标。`{r}` 可用于将 `@2x` 添加到 URL 以加载视网膜瓦片。

您可以在模板中使用自定义键,这些键将从 TileLayer 选项中 计算,例如

L.tileLayer('https://{s}.somedomain.com/{foo}/{z}/{x}/{y}.png', {foo: 'bar'});

创建

扩展方法

工厂 描述
L.tilelayer(<String> urlTemplate, <TileLayer 选项> options?) 使用 `URL 模板` 实例化一个瓦片图层对象,并可选地使用一个选项对象。

选项

选项 类型 默认值 描述
minZoom 数字 0 此图层将显示的最低缩放级别(含)。
maxZoom 数字 18 此图层将显示的最高缩放级别(含)。
子域 String|String[] 'abc' 瓦片服务的子域。可以以一个字符串(每个字母都是一个子域名称)或字符串数组的形式传递。
errorTileUrl String '' 指向要显示的瓦片图像的 URL,以代替无法加载的瓦片。
zoomOffset 数字 0 瓦片 URL 中使用的缩放编号将为此值偏移。
tms 布尔值 false 如果为 `true`,则反转瓦片的 Y 轴编号(为 TMS 服务打开此选项)。
zoomReverse 布尔值 false 如果设置为 true,瓦片 URL 中使用的缩放编号将被反转(`maxZoom - zoom` 而不是 `zoom`)
detectRetina 布尔值 false 如果为 `true` 并且用户在视网膜显示器上,它将请求四个大小为指定大小的一半的瓦片和一个更大的缩放级别,以代替一个瓦片来利用高分辨率。
crossOrigin 布尔值|字符串 false 是否将 crossOrigin 属性添加到瓦片。如果提供了一个字符串,则所有瓦片将将其 crossOrigin 属性设置为提供的字符串。如果您想访问瓦片像素数据,则需要这样做。有关有效的字符串值,请参阅 CORS 设置
referrerPolicy 布尔值|字符串 false 是否将 referrerPolicy 属性添加到瓦片。如果提供了一个字符串,则所有瓦片将将其 referrerPolicy 属性设置为提供的字符串。如果您的地图渲染上下文具有严格的默认值,但您的瓦片提供程序需要有效的推荐者(例如,用于验证 API 令牌),则可能需要这样做。有关有效的字符串值,请参阅 HTMLImageElement.referrerPolicy
选项 类型 默认值 描述
tileSize Number|Point 256 网格中瓦片的宽度和高度。如果宽度和高度相等,则使用数字,否则使用 `L.point(width, height)`。
opacity 数字 1.0 瓦片的不透明度。可以在 `createTile()` 函数中使用。
updateWhenIdle 布尔值 (依赖) 仅在平移结束时加载新瓦片。在移动浏览器上默认情况下为 `true`,以避免过多请求并保持平滑导航。否则为 `false`,以便在平移期间显示新瓦片,因为在桌面浏览器中很容易平移到 keepBuffer 选项之外。
updateWhenZooming 布尔值 true 默认情况下,平滑缩放动画(在 触控缩放flyTo() 期间)将在每个整数缩放级别更新网格图层。将此选项设置为 `false` 将仅在平滑动画结束时更新网格图层。
updateInterval 数字 200 平移时,瓦片不会比每 `updateInterval` 毫秒更新一次。
zIndex 数字 1 瓦片图层的显式 zIndex。
bounds LatLngBounds undefined 如果设置,瓦片将仅在设置的 LatLngBounds 内加载。
maxNativeZoom 数字 undefined 瓦片源可用的最大缩放编号。如果指定了它,则所有高于 `maxNativeZoom` 的缩放级别的瓦片将从 `maxNativeZoom` 级别加载并自动缩放。
minNativeZoom 数字 undefined 瓦片源可用的最小缩放编号。如果指定了它,则所有低于 `minNativeZoom` 的缩放级别的瓦片将从 `minNativeZoom` 级别加载并自动缩放。
noWrap 布尔值 false 图层是否围绕反子午线包裹。如果为 `true`,则 GridLayer 仅在低缩放级别显示一次。当 地图 CRS 不围绕时没有效果。可以与 bounds 结合使用,以防止请求 CRS 限制之外的瓦片。
pane String 'tilePane' 地图面板,网格图层将被添加到其中。
覆盖层位置的偏移量。 String '' 要分配给瓦片图层的自定义类名。默认情况下为空。
keepBuffer 数字 2 平移地图时,在卸载瓦片之前保留这么多行和列的瓦片。
选项 类型 默认值 描述
attribution String null 要显示在归属控件中的字符串,例如 "© OpenStreetMap 贡献者"。它描述了图层数据,通常是针对版权持有者和瓦片提供者的法律义务。

事件

扩展方法

事件 数据 描述
tileabort TileEvent 当瓦片正在加载但现在不需要时触发。
事件 数据 描述
loading 事件 当网格图层开始加载瓦片时触发。
tileunload TileEvent 当瓦片被移除时触发(例如,当瓦片超出屏幕范围时)。
tileloadstart TileEvent 当请求瓦片并开始加载时触发。
tileerror TileErrorEvent 当加载瓦片时出错时触发。
tileload TileEvent 当瓦片加载时触发。
load 事件 当网格图层加载所有可见瓦片时触发。
事件 数据 描述
添加 事件 图层添加到地图后触发
remove 事件 图层从地图中移除后触发
事件 数据 描述
popupopen PopupEvent 绑定到此图层的弹出窗口打开时触发
popupclose PopupEvent 绑定到此图层的弹出窗口关闭时触发
事件 数据 描述
tooltipopen TooltipEvent 绑定到此图层的工具提示打开时触发。
tooltipclose TooltipEvent 绑定到此图层的工具提示关闭时触发。

方法

方法 返回值 描述
setUrl(<String> url, <Boolean> noRedraw?) this

更新图层的 URL 模板并重新绘制它(除非 `noRedraw` 设置为 `true`)。如果 URL 没有改变,图层将不会重新绘制,除非 noRedraw 参数设置为 false。

createTile(<Object> coords, <Function> done?) HTMLElement

仅在内部调用,覆盖 GridLayer 的 createTile() 以返回一个 `<img>` HTML 元素,该元素具有使用 `coords` 给定的适当图像 URL。当瓦片加载完毕时,将调用 `done` 回调。

扩展方法

扩展 TileLayer 的图层可能会重新实现以下方法。
方法 返回值 描述
getTileUrl(<Object> coords) String

仅在内部调用,返回给定坐标的瓦片的 URL。扩展 TileLayer 的类可以覆盖此函数以提供自定义瓦片 URL 命名方案。

方法 返回值 描述
当覆盖层在地图上可见时返回 true() this

将瓦片图层置于所有瓦片图层的最上面。

将此覆盖层置于其他覆盖层(在同一地图窗格中)的前面。() this

将瓦片图层置于所有瓦片图层的底部。

getContainer() HTMLElement

返回包含此图层瓦片的 HTML 元素。

setOpacity(<Number> opacity) this

更改网格图层的 不透明度

setZIndex(<Number> zIndex) this

更改网格图层的 zIndex

isLoading() 布尔值

如果网格图层中的任何瓦片尚未完成加载,则返回 `true`。

redraw() this

导致图层清除所有瓦片并再次请求它们。

getTileSize()

tileSize 选项 规范化为一个点。由 `createTile()` 方法使用。

方法 返回值 描述
addTo(<地图|图层组> 地图) this

将图层添加到给定的地图或图层组。

remove() this

从图层当前处于活动状态的地图中移除图层。

removeFrom(<地图> 地图) this

从给定的地图中移除图层

removeFrom(<图层组> ) this

从给定的 图层组 中移除图层

getPane(<String> 名称?) HTMLElement

返回表示地图上命名窗格的 HTMLElement。如果省略 name,则返回此图层的窗格。

getAttribution() String

attribution control 使用,返回 attribution option

方法 返回值 描述
bindPopup(<字符串|HTMLElement|函数|弹出窗口> content, <Popup 选项> options?) this

使用传递的 content 将弹出窗口绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindPopup() this

移除先前使用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 或默认的弹出窗口锚点处打开绑定的弹出窗口(如果未传递 latlng)。

closePopup() this

关闭绑定到此图层的弹出窗口(如果已打开)。

togglePopup() this

根据其当前状态打开或关闭绑定到此图层的弹出窗口。

isPopupOpen() 布尔值

如果绑定到此图层的弹出窗口当前已打开,则返回 true

setPopupContent(<字符串|HTMLElement|弹出窗口> content) this

设置绑定到此图层的弹出窗口的内容。

getPopup() 弹出框

返回绑定到此图层的弹出窗口。

方法 返回值 描述
bindTooltip(<字符串|HTMLElement|函数|工具提示> content, <Tooltip 选项> options?) this

使用传递的 content 将工具提示绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindTooltip() this

移除先前使用 bindTooltip 绑定的工具提示。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 或默认的工具提示锚点处打开绑定的工具提示(如果未传递 latlng)。

closeTooltip() this

关闭绑定到此图层的工具提示(如果已打开)。

toggleTooltip() this

根据其当前状态打开或关闭绑定到此图层的工具提示。

isTooltipOpen() 布尔值

如果绑定到此图层的工具提示当前已打开,则返回 true

setTooltipContent(<字符串|HTMLElement|工具提示> content) this

设置绑定到此图层的工具提示的内容。

getTooltip() 工具提示

返回绑定到此图层的工具提示。

方法 返回值 描述
on(<String> type, <Function> fn, <Object> context?) this

将监听函数 (fn) 添加到对象的特定事件类型。您可以选择指定监听器的上下文(this 关键字指向的对象)。您也可以传递多个用空格分隔的类型(例如 'click dblclick')。

on(<Object> eventMap) this

添加一组类型/监听器对,例如 {click: onClick, mousemove: onMouseMove}

off(<String> type, <Function> fn?, <Object> context?) this

删除先前添加的监听函数。如果没有指定函数,它将从对象中删除该特定事件的所有监听器。请注意,如果您为 on 传递了自定义上下文,则必须将相同的上下文传递给 off 才能删除监听器。

off(<Object> eventMap) this

删除一组类型/监听器对。

off() this

删除对象上所有事件的所有监听器。这包括隐式附加的事件。

fire(<String> type, <Object> data?, <Boolean> propagate?) this

触发指定类型的事件。您可以选择提供一个数据对象 - 监听函数的第一个参数将包含其属性。事件可以可选地传播到事件父级。

listens(<String> type, <Boolean> propagate?) 布尔值

如果特定事件类型有任何监听器附加到它,则返回 true。验证可以选择传播,如果父级有监听器附加到它,它将返回 true

once() this

on(…) 相同,但监听器只会被触发一次,然后被移除。

addEventParent(<Evented> obj) this

添加一个事件父级 - 一个 Evented,它将接收传播的事件

removeEventParent(<Evented> obj) this

删除一个事件父级,这样它将停止接收传播的事件

addEventListener() this

on(…) 的别名

removeEventListener() this

off(…) 的别名

clearAllEventListeners() this

off() 的别名

addOneTimeEventListener() this

once(…) 的别名

fireEvent() this

fire(…) 的别名

hasEventListeners() 布尔值

listens(…) 的别名

TileLayer.WMS

用于在 map 上显示 WMS 服务作为瓦片图层。扩展 TileLayer

使用示例

var nexrad = L.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"
});

创建

工厂 描述
L.tileLayer.wms(<String> baseUrl, <TileLayer.WMS 选项> options) 使用 WMS 服务的基 URL 和 WMS 参数/选项对象实例化一个 WMS 瓦片图层对象。

选项

如果使用了任何此处未记录的自定义选项,它们将作为每个请求 URL 中的额外参数发送到 WMS 服务器。这对于 非标准供应商 WMS 参数 可能很有用。
选项 类型 默认值 描述
layers String '' (必填) 要显示的 WMS 图层的逗号分隔列表。
styles String '' WMS 样式的逗号分隔列表。
format String 'image/jpeg' WMS 图像格式(对于具有透明度的图层,请使用 `'image/png'`)。
transparent 布尔值 false 如果为 `true`,则 WMS 服务将返回具有透明度的图像。
版本 String '1.1.1' 要使用的 WMS 服务的版本
crs CRS null 要用于 WMS 请求的坐标参考系,默认为地图 CRS。如果您不确定它是什么意思,请不要更改它。
uppercase 布尔值 false 如果为 `true`,则 WMS 请求参数键将为大写。
选项 类型 默认值 描述
minZoom 数字 0 此图层将显示的最低缩放级别(含)。
maxZoom 数字 18 此图层将显示的最高缩放级别(含)。
子域 String|String[] 'abc' 瓦片服务的子域。可以以一个字符串(每个字母都是一个子域名称)或字符串数组的形式传递。
errorTileUrl String '' 指向要显示的瓦片图像的 URL,以代替无法加载的瓦片。
zoomOffset 数字 0 瓦片 URL 中使用的缩放编号将为此值偏移。
tms 布尔值 false 如果为 `true`,则反转瓦片的 Y 轴编号(为 TMS 服务打开此选项)。
zoomReverse 布尔值 false 如果设置为 true,瓦片 URL 中使用的缩放编号将被反转(`maxZoom - zoom` 而不是 `zoom`)
detectRetina 布尔值 false 如果为 `true` 并且用户在视网膜显示器上,它将请求四个大小为指定大小的一半的瓦片和一个更大的缩放级别,以代替一个瓦片来利用高分辨率。
crossOrigin 布尔值|字符串 false 是否将 crossOrigin 属性添加到瓦片。如果提供了一个字符串,则所有瓦片将将其 crossOrigin 属性设置为提供的字符串。如果您想访问瓦片像素数据,则需要这样做。有关有效的字符串值,请参阅 CORS 设置
referrerPolicy 布尔值|字符串 false 是否将 referrerPolicy 属性添加到瓦片。如果提供了一个字符串,则所有瓦片将将其 referrerPolicy 属性设置为提供的字符串。如果您的地图渲染上下文具有严格的默认值,但您的瓦片提供程序需要有效的推荐者(例如,用于验证 API 令牌),则可能需要这样做。有关有效的字符串值,请参阅 HTMLImageElement.referrerPolicy
选项 类型 默认值 描述
tileSize Number|Point 256 网格中瓦片的宽度和高度。如果宽度和高度相等,则使用数字,否则使用 `L.point(width, height)`。
opacity 数字 1.0 瓦片的不透明度。可以在 `createTile()` 函数中使用。
updateWhenIdle 布尔值 (依赖) 仅在平移结束时加载新瓦片。在移动浏览器上默认情况下为 `true`,以避免过多请求并保持平滑导航。否则为 `false`,以便在平移期间显示新瓦片,因为在桌面浏览器中很容易平移到 keepBuffer 选项之外。
updateWhenZooming 布尔值 true 默认情况下,平滑缩放动画(在 触控缩放flyTo() 期间)将在每个整数缩放级别更新网格图层。将此选项设置为 `false` 将仅在平滑动画结束时更新网格图层。
updateInterval 数字 200 平移时,瓦片不会比每 `updateInterval` 毫秒更新一次。
zIndex 数字 1 瓦片图层的显式 zIndex。
bounds LatLngBounds undefined 如果设置,瓦片将仅在设置的 LatLngBounds 内加载。
maxNativeZoom 数字 undefined 瓦片源可用的最大缩放编号。如果指定了它,则所有高于 `maxNativeZoom` 的缩放级别的瓦片将从 `maxNativeZoom` 级别加载并自动缩放。
minNativeZoom 数字 undefined 瓦片源可用的最小缩放编号。如果指定了它,则所有低于 `minNativeZoom` 的缩放级别的瓦片将从 `minNativeZoom` 级别加载并自动缩放。
noWrap 布尔值 false 图层是否围绕反子午线包裹。如果为 `true`,则 GridLayer 仅在低缩放级别显示一次。当 地图 CRS 不围绕时没有效果。可以与 bounds 结合使用,以防止请求 CRS 限制之外的瓦片。
pane String 'tilePane' 地图面板,网格图层将被添加到其中。
覆盖层位置的偏移量。 String '' 要分配给瓦片图层的自定义类名。默认情况下为空。
keepBuffer 数字 2 平移地图时,在卸载瓦片之前保留这么多行和列的瓦片。
选项 类型 默认值 描述
attribution String null 要显示在归属控件中的字符串,例如 "© OpenStreetMap 贡献者"。它描述了图层数据,通常是针对版权持有者和瓦片提供者的法律义务。

事件

事件 数据 描述
tileabort TileEvent 当瓦片正在加载但现在不需要时触发。
事件 数据 描述
loading 事件 当网格图层开始加载瓦片时触发。
tileunload TileEvent 当瓦片被移除时触发(例如,当瓦片超出屏幕范围时)。
tileloadstart TileEvent 当请求瓦片并开始加载时触发。
tileerror TileErrorEvent 当加载瓦片时出错时触发。
tileload TileEvent 当瓦片加载时触发。
load 事件 当网格图层加载所有可见瓦片时触发。
事件 数据 描述
添加 事件 图层添加到地图后触发
remove 事件 图层从地图中移除后触发
事件 数据 描述
popupopen PopupEvent 绑定到此图层的弹出窗口打开时触发
popupclose PopupEvent 绑定到此图层的弹出窗口关闭时触发
事件 数据 描述
tooltipopen TooltipEvent 绑定到此图层的工具提示打开时触发。
tooltipclose TooltipEvent 绑定到此图层的工具提示关闭时触发。

方法

方法 返回值 描述
setParams(<Object> params, <Boolean> noRedraw?) this

将一个对象与新参数合并,并重新请求当前屏幕上的瓦片(除非 `noRedraw` 设置为 true)。如果 URL 没有改变,图层将不会重新绘制,除非 noRedraw 参数设置为 false。

方法 返回值 描述
setUrl(<String> url, <Boolean> noRedraw?) this

更新图层的 URL 模板并重新绘制它(除非 `noRedraw` 设置为 `true`)。如果 URL 没有改变,图层将不会重新绘制,除非 noRedraw 参数设置为 false。

createTile(<Object> coords, <Function> done?) HTMLElement

仅在内部调用,覆盖 GridLayer 的 createTile() 以返回一个 `<img>` HTML 元素,该元素具有使用 `coords` 给定的适当图像 URL。当瓦片加载完毕时,将调用 `done` 回调。

方法 返回值 描述
当覆盖层在地图上可见时返回 true() this

将瓦片图层置于所有瓦片图层的最上面。

将此覆盖层置于其他覆盖层(在同一地图窗格中)的前面。() this

将瓦片图层置于所有瓦片图层的底部。

getContainer() HTMLElement

返回包含此图层瓦片的 HTML 元素。

setOpacity(<Number> opacity) this

更改网格图层的 不透明度

setZIndex(<Number> zIndex) this

更改网格图层的 zIndex

isLoading() 布尔值

如果网格图层中的任何瓦片尚未完成加载,则返回 `true`。

redraw() this

导致图层清除所有瓦片并再次请求它们。

getTileSize()

tileSize 选项 规范化为一个点。由 `createTile()` 方法使用。

方法 返回值 描述
addTo(<地图|图层组> 地图) this

将图层添加到给定的地图或图层组。

remove() this

从图层当前处于活动状态的地图中移除图层。

removeFrom(<地图> 地图) this

从给定的地图中移除图层

removeFrom(<图层组> ) this

从给定的 图层组 中移除图层

getPane(<String> 名称?) HTMLElement

返回表示地图上命名窗格的 HTMLElement。如果省略 name,则返回此图层的窗格。

getAttribution() String

attribution control 使用,返回 attribution option

方法 返回值 描述
bindPopup(<字符串|HTMLElement|函数|弹出窗口> content, <Popup 选项> options?) this

使用传递的 content 将弹出窗口绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindPopup() this

移除先前使用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 或默认的弹出窗口锚点处打开绑定的弹出窗口(如果未传递 latlng)。

closePopup() this

关闭绑定到此图层的弹出窗口(如果已打开)。

togglePopup() this

根据其当前状态打开或关闭绑定到此图层的弹出窗口。

isPopupOpen() 布尔值

如果绑定到此图层的弹出窗口当前已打开,则返回 true

setPopupContent(<字符串|HTMLElement|弹出窗口> content) this

设置绑定到此图层的弹出窗口的内容。

getPopup() 弹出框

返回绑定到此图层的弹出窗口。

方法 返回值 描述
bindTooltip(<字符串|HTMLElement|函数|工具提示> content, <Tooltip 选项> options?) this

使用传递的 content 将工具提示绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindTooltip() this

移除先前使用 bindTooltip 绑定的工具提示。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 或默认的工具提示锚点处打开绑定的工具提示(如果未传递 latlng)。

closeTooltip() this

关闭绑定到此图层的工具提示(如果已打开)。

toggleTooltip() this

根据其当前状态打开或关闭绑定到此图层的工具提示。

isTooltipOpen() 布尔值

如果绑定到此图层的工具提示当前已打开,则返回 true

setTooltipContent(<字符串|HTMLElement|工具提示> content) this

设置绑定到此图层的工具提示的内容。

getTooltip() 工具提示

返回绑定到此图层的工具提示。

方法 返回值 描述
on(<String> type, <Function> fn, <Object> context?) this

将监听函数 (fn) 添加到对象的特定事件类型。您可以选择指定监听器的上下文(this 关键字指向的对象)。您也可以传递多个用空格分隔的类型(例如 'click dblclick')。

on(<Object> eventMap) this

添加一组类型/监听器对,例如 {click: onClick, mousemove: onMouseMove}

off(<String> type, <Function> fn?, <Object> context?) this

删除先前添加的监听函数。如果没有指定函数,它将从对象中删除该特定事件的所有监听器。请注意,如果您为 on 传递了自定义上下文,则必须将相同的上下文传递给 off 才能删除监听器。

off(<Object> eventMap) this

删除一组类型/监听器对。

off() this

删除对象上所有事件的所有监听器。这包括隐式附加的事件。

fire(<String> type, <Object> data?, <Boolean> propagate?) this

触发指定类型的事件。您可以选择提供一个数据对象 - 监听函数的第一个参数将包含其属性。事件可以可选地传播到事件父级。

listens(<String> type, <Boolean> propagate?) 布尔值

如果特定事件类型有任何监听器附加到它,则返回 true。验证可以选择传播,如果父级有监听器附加到它,它将返回 true

once() this

on(…) 相同,但监听器只会被触发一次,然后被移除。

addEventParent(<Evented> obj) this

添加一个事件父级 - 一个 Evented,它将接收传播的事件

removeEventParent(<Evented> obj) this

删除一个事件父级,这样它将停止接收传播的事件

addEventListener() this

on(…) 的别名

removeEventListener() this

off(…) 的别名

clearAllEventListeners() this

off() 的别名

addOneTimeEventListener() this

once(…) 的别名

fireEvent() this

fire(…) 的别名

hasEventListeners() 布尔值

listens(…) 的别名

ImageOverlay

用于在 map 的特定边界上加载和显示单个图像。扩展 Layer

使用示例

var imageUrl = 'https://maps.lib.utexas.edu/maps/historical/newark_nj_1922.jpg',
	imageBounds = [[40.712216, -74.22655], [40.773941, -74.12544]];
L.imageOverlay(imageUrl, imageBounds).addTo(map);

创建

工厂 描述
L.imageOverlay(<String> imageUrl, <LatLngBounds> bounds, <ImageOverlay 选项> options?) 使用图像的 URL 和它绑定到的地理边界实例化一个图像叠加对象。

选项

选项 类型 默认值 描述
opacity 数字 1.0 图像叠加的不透明度。
alt String '' 图像 `alt` 属性的文本(对于辅助功能很有用)。
interactive 布尔值 false 如果为 `true`,则图像叠加将在单击或悬停时发出 鼠标事件
crossOrigin 布尔值|字符串 false 是否将 crossOrigin 属性添加到图像。如果提供了一个字符串,则图像将将其 crossOrigin 属性设置为提供的字符串。如果您想访问图像像素数据,则需要这样做。有关有效的字符串值,请参阅 CORS 设置
errorOverlayUrl String '' 指向要显示的叠加图像的 URL,以代替无法加载的叠加。
zIndex 数字 1 叠加图层的显式 zIndex
覆盖层位置的偏移量。 String '' 要分配给图像的自定义类名。默认情况下为空。
选项 类型 默认值 描述
bubblingMouseEvents 布尔值 true 在初始化时设置覆盖层的 HTML 内容。如果传递的是函数,则源图层将被传递给该函数。该函数应返回一个 StringHTMLElement,用于在覆盖层中使用。
选项 类型 默认值 描述
pane String 'overlayPane' 默认情况下,图层将被添加到地图的 叠加面板。覆盖此选项将导致图层默认情况下放置在另一个面板上。
attribution String null 要显示在归属控件中的字符串,例如 "© OpenStreetMap 贡献者"。它描述了图层数据,通常是针对版权持有者和瓦片提供者的法律义务。

事件

事件 数据 描述
load 事件 当 ImageOverlay 图层加载其图像时触发
error 事件 当 ImageOverlay 图层无法加载其图像时触发
事件 数据 描述
click MouseEvent 用户点击(或轻触)图层时触发。
dblclick MouseEvent 用户双击(或双击)图层时触发。
mousedown MouseEvent 用户在图层上按下鼠标按钮时触发。
mouseup MouseEvent 用户释放按下在图层上的鼠标按钮时触发。
mouseover MouseEvent 鼠标进入图层时触发。
mouseout MouseEvent 鼠标离开图层时触发。
contextmenu MouseEvent 用户右键单击图层时触发,如果此事件有监听器,则阻止默认浏览器上下文菜单显示。在移动设备上,当用户将手指按在屏幕上保持一秒钟(也称为长按)时也会触发。
事件 数据 描述
添加 事件 图层添加到地图后触发
remove 事件 图层从地图中移除后触发
事件 数据 描述
popupopen PopupEvent 绑定到此图层的弹出窗口打开时触发
popupclose PopupEvent 绑定到此图层的弹出窗口关闭时触发
事件 数据 描述
tooltipopen TooltipEvent 绑定到此图层的工具提示打开时触发。
tooltipclose TooltipEvent 绑定到此图层的工具提示关闭时触发。

方法

方法 返回值 描述
setOpacity(<Number> opacity) this

设置叠加的不透明度。

当覆盖层在地图上可见时返回 true() this

将图层置于所有叠加的最上面。

将此覆盖层置于其他覆盖层(在同一地图窗格中)的前面。() this

将图层置于所有叠加的底部。

setUrl(<String> url) this

更改图像的 URL。

setBounds(<LatLngBounds> bounds) this

更新此 ImageOverlay 覆盖的边界

setZIndex(<Number> value) this

更改图像叠加的 zIndex

getBounds() LatLngBounds

获取此 ImageOverlay 覆盖的边界

设置覆盖层的 HTML 内容。如果传递的是函数,则源图层将被传递给该函数。该函数应返回一个 StringHTMLElement,用于在覆盖层中使用。() HTMLElement

返回此叠加层使用的 HTMLImageElement 实例。

getCenter() LatLng

返回 ImageOverlay 的中心点。

方法 返回值 描述
addTo(<地图|图层组> 地图) this

将图层添加到给定的地图或图层组。

remove() this

从图层当前处于活动状态的地图中移除图层。

removeFrom(<地图> 地图) this

从给定的地图中移除图层

removeFrom(<图层组> ) this

从给定的 图层组 中移除图层

getPane(<String> 名称?) HTMLElement

返回表示地图上命名窗格的 HTMLElement。如果省略 name,则返回此图层的窗格。

getAttribution() String

attribution control 使用,返回 attribution option

方法 返回值 描述
bindPopup(<字符串|HTMLElement|函数|弹出窗口> content, <Popup 选项> options?) this

使用传递的 content 将弹出窗口绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindPopup() this

移除先前使用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 或默认的弹出窗口锚点处打开绑定的弹出窗口(如果未传递 latlng)。

closePopup() this

关闭绑定到此图层的弹出窗口(如果已打开)。

togglePopup() this

根据其当前状态打开或关闭绑定到此图层的弹出窗口。

isPopupOpen() 布尔值

如果绑定到此图层的弹出窗口当前已打开,则返回 true

setPopupContent(<字符串|HTMLElement|弹出窗口> content) this

设置绑定到此图层的弹出窗口的内容。

getPopup() 弹出框

返回绑定到此图层的弹出窗口。

方法 返回值 描述
bindTooltip(<字符串|HTMLElement|函数|工具提示> content, <Tooltip 选项> options?) this

使用传递的 content 将工具提示绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindTooltip() this

移除先前使用 bindTooltip 绑定的工具提示。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 或默认的工具提示锚点处打开绑定的工具提示(如果未传递 latlng)。

closeTooltip() this

关闭绑定到此图层的工具提示(如果已打开)。

toggleTooltip() this

根据其当前状态打开或关闭绑定到此图层的工具提示。

isTooltipOpen() 布尔值

如果绑定到此图层的工具提示当前已打开,则返回 true

setTooltipContent(<字符串|HTMLElement|工具提示> content) this

设置绑定到此图层的工具提示的内容。

getTooltip() 工具提示

返回绑定到此图层的工具提示。

方法 返回值 描述
on(<String> type, <Function> fn, <Object> context?) this

将监听函数 (fn) 添加到对象的特定事件类型。您可以选择指定监听器的上下文(this 关键字指向的对象)。您也可以传递多个用空格分隔的类型(例如 'click dblclick')。

on(<Object> eventMap) this

添加一组类型/监听器对,例如 {click: onClick, mousemove: onMouseMove}

off(<String> type, <Function> fn?, <Object> context?) this

删除先前添加的监听函数。如果没有指定函数,它将从对象中删除该特定事件的所有监听器。请注意,如果您为 on 传递了自定义上下文,则必须将相同的上下文传递给 off 才能删除监听器。

off(<Object> eventMap) this

删除一组类型/监听器对。

off() this

删除对象上所有事件的所有监听器。这包括隐式附加的事件。

fire(<String> type, <Object> data?, <Boolean> propagate?) this

触发指定类型的事件。您可以选择提供一个数据对象 - 监听函数的第一个参数将包含其属性。事件可以可选地传播到事件父级。

listens(<String> type, <Boolean> propagate?) 布尔值

如果特定事件类型有任何监听器附加到它,则返回 true。验证可以选择传播,如果父级有监听器附加到它,它将返回 true

once() this

on(…) 相同,但监听器只会被触发一次,然后被移除。

addEventParent(<Evented> obj) this

添加一个事件父级 - 一个 Evented,它将接收传播的事件

removeEventParent(<Evented> obj) this

删除一个事件父级,这样它将停止接收传播的事件

addEventListener() this

on(…) 的别名

removeEventListener() this

off(…) 的别名

clearAllEventListeners() this

off() 的别名

addOneTimeEventListener() this

once(…) 的别名

fireEvent() this

fire(…) 的别名

hasEventListeners() 布尔值

listens(…) 的别名

VideoOverlay

用于在地图的特定范围内加载和显示视频播放器。扩展了 ImageOverlay

视频叠加层使用 <video> HTML5 元素。

使用示例

var videoUrl = 'https://www.mapbox.com/bites/00188/patricia_nasa.webm',
	videoBounds = [[ 32, -130], [ 13, -100]];
L.videoOverlay(videoUrl, videoBounds ).addTo(map);

创建

工厂 描述
L.videoOverlay(<String|Array|HTMLVideoElement> video, <LatLngBounds> bounds, <VideoOverlay 选项> options?) 根据视频的 URL(或 URL 数组,甚至视频元素)和它所绑定的地理范围来实例化一个图像叠加层对象。

选项

选项 类型 默认值 描述
autoplay 布尔值 true 视频加载时是否自动开始播放。在某些浏览器中,自动播放仅在 muted: true 时有效。
loop 布尔值 true 视频播放完毕后是否循环回开头。
keepAspectRatio 布尔值 true 视频在投影后是否保持纵横比。与支持的浏览器相关。请参阅 浏览器兼容性
muted 布尔值 false 视频加载时是否静音。
playsInline 布尔值 true 移动浏览器将在视频所在位置直接播放视频,而不是全屏模式打开视频。
选项 类型 默认值 描述
opacity 数字 1.0 图像叠加的不透明度。
alt String '' 图像 `alt` 属性的文本(对于辅助功能很有用)。
interactive 布尔值 false 如果为 `true`,则图像叠加将在单击或悬停时发出 鼠标事件
crossOrigin 布尔值|字符串 false 是否将 crossOrigin 属性添加到图像。如果提供了一个字符串,则图像将将其 crossOrigin 属性设置为提供的字符串。如果您想访问图像像素数据,则需要这样做。有关有效的字符串值,请参阅 CORS 设置
errorOverlayUrl String '' 指向要显示的叠加图像的 URL,以代替无法加载的叠加。
zIndex 数字 1 叠加图层的显式 zIndex
覆盖层位置的偏移量。 String '' 要分配给图像的自定义类名。默认情况下为空。
选项 类型 默认值 描述
bubblingMouseEvents 布尔值 true 在初始化时设置覆盖层的 HTML 内容。如果传递的是函数,则源图层将被传递给该函数。该函数应返回一个 StringHTMLElement,用于在覆盖层中使用。
选项 类型 默认值 描述
pane String 'overlayPane' 默认情况下,图层将被添加到地图的 叠加面板。覆盖此选项将导致图层默认情况下放置在另一个面板上。
attribution String null 要显示在归属控件中的字符串,例如 "© OpenStreetMap 贡献者"。它描述了图层数据,通常是针对版权持有者和瓦片提供者的法律义务。

事件

事件 数据 描述
load 事件 当视频完成加载第一帧时触发。
事件 数据 描述
error 事件 当 ImageOverlay 图层无法加载其图像时触发
事件 数据 描述
click MouseEvent 用户点击(或轻触)图层时触发。
dblclick MouseEvent 用户双击(或双击)图层时触发。
mousedown MouseEvent 用户在图层上按下鼠标按钮时触发。
mouseup MouseEvent 用户释放按下在图层上的鼠标按钮时触发。
mouseover MouseEvent 鼠标进入图层时触发。
mouseout MouseEvent 鼠标离开图层时触发。
contextmenu MouseEvent 用户右键单击图层时触发,如果此事件有监听器,则阻止默认浏览器上下文菜单显示。在移动设备上,当用户将手指按在屏幕上保持一秒钟(也称为长按)时也会触发。
事件 数据 描述
添加 事件 图层添加到地图后触发
remove 事件 图层从地图中移除后触发
事件 数据 描述
popupopen PopupEvent 绑定到此图层的弹出窗口打开时触发
popupclose PopupEvent 绑定到此图层的弹出窗口关闭时触发
事件 数据 描述
tooltipopen TooltipEvent 绑定到此图层的工具提示打开时触发。
tooltipclose TooltipEvent 绑定到此图层的工具提示关闭时触发。

方法

方法 返回值 描述
设置覆盖层的 HTML 内容。如果传递的是函数,则源图层将被传递给该函数。该函数应返回一个 StringHTMLElement,用于在覆盖层中使用。() HTMLVideoElement

返回此叠加层使用的 HTMLVideoElement 实例。

方法 返回值 描述
setOpacity(<Number> opacity) this

设置叠加的不透明度。

当覆盖层在地图上可见时返回 true() this

将图层置于所有叠加的最上面。

将此覆盖层置于其他覆盖层(在同一地图窗格中)的前面。() this

将图层置于所有叠加的底部。

setUrl(<String> url) this

更改图像的 URL。

setBounds(<LatLngBounds> bounds) this

更新此 ImageOverlay 覆盖的边界

setZIndex(<Number> value) this

更改图像叠加的 zIndex

getBounds() LatLngBounds

获取此 ImageOverlay 覆盖的边界

getCenter() LatLng

返回 ImageOverlay 的中心点。

方法 返回值 描述
addTo(<地图|图层组> 地图) this

将图层添加到给定的地图或图层组。

remove() this

从图层当前处于活动状态的地图中移除图层。

removeFrom(<地图> 地图) this

从给定的地图中移除图层

removeFrom(<图层组> ) this

从给定的 图层组 中移除图层

getPane(<String> 名称?) HTMLElement

返回表示地图上命名窗格的 HTMLElement。如果省略 name,则返回此图层的窗格。

getAttribution() String

attribution control 使用,返回 attribution option

方法 返回值 描述
bindPopup(<字符串|HTMLElement|函数|弹出窗口> content, <Popup 选项> options?) this

使用传递的 content 将弹出窗口绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindPopup() this

移除先前使用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 或默认的弹出窗口锚点处打开绑定的弹出窗口(如果未传递 latlng)。

closePopup() this

关闭绑定到此图层的弹出窗口(如果已打开)。

togglePopup() this

根据其当前状态打开或关闭绑定到此图层的弹出窗口。

isPopupOpen() 布尔值

如果绑定到此图层的弹出窗口当前已打开,则返回 true

setPopupContent(<字符串|HTMLElement|弹出窗口> content) this

设置绑定到此图层的弹出窗口的内容。

getPopup() 弹出框

返回绑定到此图层的弹出窗口。

方法 返回值 描述
bindTooltip(<字符串|HTMLElement|函数|工具提示> content, <Tooltip 选项> options?) this

使用传递的 content 将工具提示绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindTooltip() this

移除先前使用 bindTooltip 绑定的工具提示。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 或默认的工具提示锚点处打开绑定的工具提示(如果未传递 latlng)。

closeTooltip() this

关闭绑定到此图层的工具提示(如果已打开)。

toggleTooltip() this

根据其当前状态打开或关闭绑定到此图层的工具提示。

isTooltipOpen() 布尔值

如果绑定到此图层的工具提示当前已打开,则返回 true

setTooltipContent(<字符串|HTMLElement|工具提示> content) this

设置绑定到此图层的工具提示的内容。

getTooltip() 工具提示

返回绑定到此图层的工具提示。

方法 返回值 描述
on(<String> type, <Function> fn, <Object> context?) this

将监听函数 (fn) 添加到对象的特定事件类型。您可以选择指定监听器的上下文(this 关键字指向的对象)。您也可以传递多个用空格分隔的类型(例如 'click dblclick')。

on(<Object> eventMap) this

添加一组类型/监听器对,例如 {click: onClick, mousemove: onMouseMove}

off(<String> type, <Function> fn?, <Object> context?) this

删除先前添加的监听函数。如果没有指定函数,它将从对象中删除该特定事件的所有监听器。请注意,如果您为 on 传递了自定义上下文,则必须将相同的上下文传递给 off 才能删除监听器。

off(<Object> eventMap) this

删除一组类型/监听器对。

off() this

删除对象上所有事件的所有监听器。这包括隐式附加的事件。

fire(<String> type, <Object> data?, <Boolean> propagate?) this

触发指定类型的事件。您可以选择提供一个数据对象 - 监听函数的第一个参数将包含其属性。事件可以可选地传播到事件父级。

listens(<String> type, <Boolean> propagate?) 布尔值

如果特定事件类型有任何监听器附加到它,则返回 true。验证可以选择传播,如果父级有监听器附加到它,它将返回 true

once() this

on(…) 相同,但监听器只会被触发一次,然后被移除。

addEventParent(<Evented> obj) this

添加一个事件父级 - 一个 Evented,它将接收传播的事件

removeEventParent(<Evented> obj) this

删除一个事件父级,这样它将停止接收传播的事件

addEventListener() this

on(…) 的别名

removeEventListener() this

off(…) 的别名

clearAllEventListeners() this

off() 的别名

addOneTimeEventListener() this

once(…) 的别名

fireEvent() this

fire(…) 的别名

hasEventListeners() 布尔值

listens(…) 的别名

SVGOverlay

用于在特定范围内的地图上加载、显示和提供 SVG 文件的 DOM 访问权限。扩展了 ImageOverlay

SVG 叠加层使用 <svg> 元素。

使用示例

var svgElement = document.createElementNS("http://www.w3.org/2000/svg", "svg");
svgElement.setAttribute('xmlns', "http://www.w3.org/2000/svg");
svgElement.setAttribute('viewBox', "0 0 200 200");
svgElement.innerHTML = '<rect width="200" height="200"/><rect x="75" y="23" width="50" height="50" style="fill:red"/><rect x="75" y="123" width="50" height="50" style="fill:#0013ff"/>';
var svgElementBounds = [ [ 32, -130 ], [ 13, -100 ] ];
L.svgOverlay(svgElement, svgElementBounds).addTo(map);

创建

工厂 描述
L.svgOverlay(<String|SVGElement> svg, <LatLngBounds> bounds, <SVGOverlay 选项> options?) 根据 SVG 元素和它所绑定的地理范围来实例化一个图像叠加层对象。SVG 元素上需要有 viewBox 属性才能正确地缩放。

选项

选项 类型 默认值 描述
opacity 数字 1.0 图像叠加的不透明度。
alt String '' 图像 `alt` 属性的文本(对于辅助功能很有用)。
interactive 布尔值 false 如果为 `true`,则图像叠加将在单击或悬停时发出 鼠标事件
crossOrigin 布尔值|字符串 false 是否将 crossOrigin 属性添加到图像。如果提供了一个字符串,则图像将将其 crossOrigin 属性设置为提供的字符串。如果您想访问图像像素数据,则需要这样做。有关有效的字符串值,请参阅 CORS 设置
errorOverlayUrl String '' 指向要显示的叠加图像的 URL,以代替无法加载的叠加。
zIndex 数字 1 叠加图层的显式 zIndex
覆盖层位置的偏移量。 String '' 要分配给图像的自定义类名。默认情况下为空。
选项 类型 默认值 描述
bubblingMouseEvents 布尔值 true 在初始化时设置覆盖层的 HTML 内容。如果传递的是函数,则源图层将被传递给该函数。该函数应返回一个 StringHTMLElement,用于在覆盖层中使用。
选项 类型 默认值 描述
pane String 'overlayPane' 默认情况下,图层将被添加到地图的 叠加面板。覆盖此选项将导致图层默认情况下放置在另一个面板上。
attribution String null 要显示在归属控件中的字符串,例如 "© OpenStreetMap 贡献者"。它描述了图层数据,通常是针对版权持有者和瓦片提供者的法律义务。

事件

事件 数据 描述
load 事件 当 ImageOverlay 图层加载其图像时触发
error 事件 当 ImageOverlay 图层无法加载其图像时触发
事件 数据 描述
click MouseEvent 用户点击(或轻触)图层时触发。
dblclick MouseEvent 用户双击(或双击)图层时触发。
mousedown MouseEvent 用户在图层上按下鼠标按钮时触发。
mouseup MouseEvent 用户释放按下在图层上的鼠标按钮时触发。
mouseover MouseEvent 鼠标进入图层时触发。
mouseout MouseEvent 鼠标离开图层时触发。
contextmenu MouseEvent 用户右键单击图层时触发,如果此事件有监听器,则阻止默认浏览器上下文菜单显示。在移动设备上,当用户将手指按在屏幕上保持一秒钟(也称为长按)时也会触发。
事件 数据 描述
添加 事件 图层添加到地图后触发
remove 事件 图层从地图中移除后触发
事件 数据 描述
popupopen PopupEvent 绑定到此图层的弹出窗口打开时触发
popupclose PopupEvent 绑定到此图层的弹出窗口关闭时触发
事件 数据 描述
tooltipopen TooltipEvent 绑定到此图层的工具提示打开时触发。
tooltipclose TooltipEvent 绑定到此图层的工具提示关闭时触发。

方法

方法 返回值 描述
设置覆盖层的 HTML 内容。如果传递的是函数,则源图层将被传递给该函数。该函数应返回一个 StringHTMLElement,用于在覆盖层中使用。() SVGElement

返回此叠加层使用的 SVGElement 实例。

方法 返回值 描述
setOpacity(<Number> opacity) this

设置叠加的不透明度。

当覆盖层在地图上可见时返回 true() this

将图层置于所有叠加的最上面。

将此覆盖层置于其他覆盖层(在同一地图窗格中)的前面。() this

将图层置于所有叠加的底部。

setUrl(<String> url) this

更改图像的 URL。

setBounds(<LatLngBounds> bounds) this

更新此 ImageOverlay 覆盖的边界

setZIndex(<Number> value) this

更改图像叠加的 zIndex

getBounds() LatLngBounds

获取此 ImageOverlay 覆盖的边界

getCenter() LatLng

返回 ImageOverlay 的中心点。

方法 返回值 描述
addTo(<地图|图层组> 地图) this

将图层添加到给定的地图或图层组。

remove() this

从图层当前处于活动状态的地图中移除图层。

removeFrom(<地图> 地图) this

从给定的地图中移除图层

removeFrom(<图层组> ) this

从给定的 图层组 中移除图层

getPane(<String> 名称?) HTMLElement

返回表示地图上命名窗格的 HTMLElement。如果省略 name,则返回此图层的窗格。

getAttribution() String

attribution control 使用,返回 attribution option

方法 返回值 描述
bindPopup(<字符串|HTMLElement|函数|弹出窗口> content, <Popup 选项> options?) this

使用传递的 content 将弹出窗口绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindPopup() this

移除先前使用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 或默认的弹出窗口锚点处打开绑定的弹出窗口(如果未传递 latlng)。

closePopup() this

关闭绑定到此图层的弹出窗口(如果已打开)。

togglePopup() this

根据其当前状态打开或关闭绑定到此图层的弹出窗口。

isPopupOpen() 布尔值

如果绑定到此图层的弹出窗口当前已打开,则返回 true

setPopupContent(<字符串|HTMLElement|弹出窗口> content) this

设置绑定到此图层的弹出窗口的内容。

getPopup() 弹出框

返回绑定到此图层的弹出窗口。

方法 返回值 描述
bindTooltip(<字符串|HTMLElement|函数|工具提示> content, <Tooltip 选项> options?) this

使用传递的 content 将工具提示绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindTooltip() this

移除先前使用 bindTooltip 绑定的工具提示。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 或默认的工具提示锚点处打开绑定的工具提示(如果未传递 latlng)。

closeTooltip() this

关闭绑定到此图层的工具提示(如果已打开)。

toggleTooltip() this

根据其当前状态打开或关闭绑定到此图层的工具提示。

isTooltipOpen() 布尔值

如果绑定到此图层的工具提示当前已打开,则返回 true

setTooltipContent(<字符串|HTMLElement|工具提示> content) this

设置绑定到此图层的工具提示的内容。

getTooltip() 工具提示

返回绑定到此图层的工具提示。

方法 返回值 描述
on(<String> type, <Function> fn, <Object> context?) this

将监听函数 (fn) 添加到对象的特定事件类型。您可以选择指定监听器的上下文(this 关键字指向的对象)。您也可以传递多个用空格分隔的类型(例如 'click dblclick')。

on(<Object> eventMap) this

添加一组类型/监听器对,例如 {click: onClick, mousemove: onMouseMove}

off(<String> type, <Function> fn?, <Object> context?) this

删除先前添加的监听函数。如果没有指定函数,它将从对象中删除该特定事件的所有监听器。请注意,如果您为 on 传递了自定义上下文,则必须将相同的上下文传递给 off 才能删除监听器。

off(<Object> eventMap) this

删除一组类型/监听器对。

off() this

删除对象上所有事件的所有监听器。这包括隐式附加的事件。

fire(<String> type, <Object> data?, <Boolean> propagate?) this

触发指定类型的事件。您可以选择提供一个数据对象 - 监听函数的第一个参数将包含其属性。事件可以可选地传播到事件父级。

listens(<String> type, <Boolean> propagate?) 布尔值

如果特定事件类型有任何监听器附加到它,则返回 true。验证可以选择传播,如果父级有监听器附加到它,它将返回 true

once() this

on(…) 相同,但监听器只会被触发一次,然后被移除。

addEventParent(<Evented> obj) this

添加一个事件父级 - 一个 Evented,它将接收传播的事件

removeEventParent(<Evented> obj) this

删除一个事件父级,这样它将停止接收传播的事件

addEventListener() this

on(…) 的别名

removeEventListener() this

off(…) 的别名

clearAllEventListeners() this

off() 的别名

addOneTimeEventListener() this

once(…) 的别名

fireEvent() this

fire(…) 的别名

hasEventListeners() 布尔值

listens(…) 的别名

路径

一个抽象类,包含向量叠加层(Polygon、Polyline、Circle)共有的选项和常量。不要直接使用它。扩展了 Layer

选项

选项 类型 默认值 描述
stroke 布尔值 true 是否沿路径绘制描边。将其设置为 false 可以禁用多边形或圆形的边框。
color String '#3388ff' 描边颜色
weight 数字 3 描边宽度(以像素为单位)
opacity 数字 1.0 描边不透明度
lineCap String 'round' 一个字符串,定义了 描边末端使用的形状
lineJoin String 'round' 一个字符串,定义了 描边拐角处使用的形状
dashArray String null 一个字符串,定义了描边的 虚线图案。在 某些旧浏览器 中,Canvas 支持的图层上不适用。
dashOffset String null 一个字符串,定义了 虚线图案的起始位置。在 某些旧浏览器 中,Canvas 支持的图层上不适用。
fill 布尔值 取决于 是否用颜色填充路径。将其设置为 false 可以禁用多边形或圆形的填充。
fillColor String * 填充颜色。默认为 color 选项的值
fillOpacity 数字 0.2 填充不透明度。
fillRule String 'evenodd' 一个字符串,定义了 如何确定形状的内部
bubblingMouseEvents 布尔值 true true 时,此路径上的鼠标事件将触发地图上的相同事件(除非使用 L.DomEvent.stopPropagation)。
renderer 渲染器 对该路径使用此 Renderer 的特定实例。优先于地图的 默认渲染器
覆盖层位置的偏移量。 String null 在元素上设置的自定义类名。仅适用于 SVG 渲染器。
选项 类型 默认值 描述
interactive 布尔值 true 如果为 false,则该层将不会发出鼠标事件,并且将充当底层地图的一部分。
选项 类型 默认值 描述
pane String 'overlayPane' 默认情况下,图层将被添加到地图的 叠加面板。覆盖此选项将导致图层默认情况下放置在另一个面板上。
attribution String null 要显示在归属控件中的字符串,例如 "© OpenStreetMap 贡献者"。它描述了图层数据,通常是针对版权持有者和瓦片提供者的法律义务。

事件

事件 数据 描述
click MouseEvent 用户点击(或轻触)图层时触发。
dblclick MouseEvent 用户双击(或双击)图层时触发。
mousedown MouseEvent 用户在图层上按下鼠标按钮时触发。
mouseup MouseEvent 用户释放按下在图层上的鼠标按钮时触发。
mouseover MouseEvent 鼠标进入图层时触发。
mouseout MouseEvent 鼠标离开图层时触发。
contextmenu MouseEvent 用户右键单击图层时触发,如果此事件有监听器,则阻止默认浏览器上下文菜单显示。在移动设备上,当用户将手指按在屏幕上保持一秒钟(也称为长按)时也会触发。
事件 数据 描述
添加 事件 图层添加到地图后触发
remove 事件 图层从地图中移除后触发
事件 数据 描述
popupopen PopupEvent 绑定到此图层的弹出窗口打开时触发
popupclose PopupEvent 绑定到此图层的弹出窗口关闭时触发
事件 数据 描述
tooltipopen TooltipEvent 绑定到此图层的工具提示打开时触发。
tooltipclose TooltipEvent 绑定到此图层的工具提示关闭时触发。

方法

方法 返回值 描述
redraw() this

重新绘制图层。在更改了路径使用的坐标后,有时很有用。

setStyle(<路径选项> style) this

根据 路径选项 对象中的选项更改路径的外观。

当覆盖层在地图上可见时返回 true() this

将图层置于所有路径图层的最顶端。

将此覆盖层置于其他覆盖层(在同一地图窗格中)的前面。() this

将图层置于所有路径图层的底部。

方法 返回值 描述
addTo(<地图|图层组> 地图) this

将图层添加到给定的地图或图层组。

remove() this

从图层当前处于活动状态的地图中移除图层。

removeFrom(<地图> 地图) this

从给定的地图中移除图层

removeFrom(<图层组> ) this

从给定的 图层组 中移除图层

getPane(<String> 名称?) HTMLElement

返回表示地图上命名窗格的 HTMLElement。如果省略 name,则返回此图层的窗格。

getAttribution() String

attribution control 使用,返回 attribution option

方法 返回值 描述
bindPopup(<字符串|HTMLElement|函数|弹出窗口> content, <Popup 选项> options?) this

使用传递的 content 将弹出窗口绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindPopup() this

移除先前使用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 或默认的弹出窗口锚点处打开绑定的弹出窗口(如果未传递 latlng)。

closePopup() this

关闭绑定到此图层的弹出窗口(如果已打开)。

togglePopup() this

根据其当前状态打开或关闭绑定到此图层的弹出窗口。

isPopupOpen() 布尔值

如果绑定到此图层的弹出窗口当前已打开,则返回 true

setPopupContent(<字符串|HTMLElement|弹出窗口> content) this

设置绑定到此图层的弹出窗口的内容。

getPopup() 弹出框

返回绑定到此图层的弹出窗口。

方法 返回值 描述
bindTooltip(<字符串|HTMLElement|函数|工具提示> content, <Tooltip 选项> options?) this

使用传递的 content 将工具提示绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindTooltip() this

移除先前使用 bindTooltip 绑定的工具提示。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 或默认的工具提示锚点处打开绑定的工具提示(如果未传递 latlng)。

closeTooltip() this

关闭绑定到此图层的工具提示(如果已打开)。

toggleTooltip() this

根据其当前状态打开或关闭绑定到此图层的工具提示。

isTooltipOpen() 布尔值

如果绑定到此图层的工具提示当前已打开,则返回 true

setTooltipContent(<字符串|HTMLElement|工具提示> content) this

设置绑定到此图层的工具提示的内容。

getTooltip() 工具提示

返回绑定到此图层的工具提示。

方法 返回值 描述
on(<String> type, <Function> fn, <Object> context?) this

将监听函数 (fn) 添加到对象的特定事件类型。您可以选择指定监听器的上下文(this 关键字指向的对象)。您也可以传递多个用空格分隔的类型(例如 'click dblclick')。

on(<Object> eventMap) this

添加一组类型/监听器对,例如 {click: onClick, mousemove: onMouseMove}

off(<String> type, <Function> fn?, <Object> context?) this

删除先前添加的监听函数。如果没有指定函数,它将从对象中删除该特定事件的所有监听器。请注意,如果您为 on 传递了自定义上下文,则必须将相同的上下文传递给 off 才能删除监听器。

off(<Object> eventMap) this

删除一组类型/监听器对。

off() this

删除对象上所有事件的所有监听器。这包括隐式附加的事件。

fire(<String> type, <Object> data?, <Boolean> propagate?) this

触发指定类型的事件。您可以选择提供一个数据对象 - 监听函数的第一个参数将包含其属性。事件可以可选地传播到事件父级。

listens(<String> type, <Boolean> propagate?) 布尔值

如果特定事件类型有任何监听器附加到它,则返回 true。验证可以选择传播,如果父级有监听器附加到它,它将返回 true

once() this

on(…) 相同,但监听器只会被触发一次,然后被移除。

addEventParent(<Evented> obj) this

添加一个事件父级 - 一个 Evented,它将接收传播的事件

removeEventParent(<Evented> obj) this

删除一个事件父级,这样它将停止接收传播的事件

addEventListener() this

on(…) 的别名

removeEventListener() this

off(…) 的别名

clearAllEventListeners() this

off() 的别名

addOneTimeEventListener() this

once(…) 的别名

fireEvent() this

fire(…) 的别名

hasEventListeners() 布尔值

listens(…) 的别名

折线

一个用于在地图上绘制折线叠加层的类。扩展了 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 = L.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]]
];

创建

工厂 描述
L.polyline(<LatLng[]> latlngs, <Polyline 选项> options?) 根据地理点的数组(以及可选的选项对象)来实例化一个折线对象。您可以通过传递地理点的数组数组来创建具有多个独立线段的 Polyline 对象(MultiPolyline)。

选项

选项 类型 默认值 描述
smoothFactor 数字 1.0 在每个缩放级别上简化折线的程度。值越大,性能越好,外观越平滑,值越小,表示越准确。
noClip 布尔值 false 禁用折线裁剪。
选项 类型 默认值 描述
stroke 布尔值 true 是否沿路径绘制描边。将其设置为 false 可以禁用多边形或圆形的边框。
color String '#3388ff' 描边颜色
weight 数字 3 描边宽度(以像素为单位)
opacity 数字 1.0 描边不透明度
lineCap String 'round' 一个字符串,定义了 描边末端使用的形状
lineJoin String 'round' 一个字符串,定义了 描边拐角处使用的形状
dashArray String null 一个字符串,定义了描边的 虚线图案。在 某些旧浏览器 中,Canvas 支持的图层上不适用。
dashOffset String null 一个字符串,定义了 虚线图案的起始位置。在 某些旧浏览器 中,Canvas 支持的图层上不适用。
fill 布尔值 取决于 是否用颜色填充路径。将其设置为 false 可以禁用多边形或圆形的填充。
fillColor String * 填充颜色。默认为 color 选项的值
fillOpacity 数字 0.2 填充不透明度。
fillRule String 'evenodd' 一个字符串,定义了 如何确定形状的内部
bubblingMouseEvents 布尔值 true true 时,此路径上的鼠标事件将触发地图上的相同事件(除非使用 L.DomEvent.stopPropagation)。
renderer 渲染器 对该路径使用此 Renderer 的特定实例。优先于地图的 默认渲染器
覆盖层位置的偏移量。 String null 在元素上设置的自定义类名。仅适用于 SVG 渲染器。
选项 类型 默认值 描述
interactive 布尔值 true 如果为 false,则该层将不会发出鼠标事件,并且将充当底层地图的一部分。
选项 类型 默认值 描述
pane String 'overlayPane' 默认情况下,图层将被添加到地图的 叠加面板。覆盖此选项将导致图层默认情况下放置在另一个面板上。
attribution String null 要显示在归属控件中的字符串,例如 "© OpenStreetMap 贡献者"。它描述了图层数据,通常是针对版权持有者和瓦片提供者的法律义务。

事件

事件 数据 描述
click MouseEvent 用户点击(或轻触)图层时触发。
dblclick MouseEvent 用户双击(或双击)图层时触发。
mousedown MouseEvent 用户在图层上按下鼠标按钮时触发。
mouseup MouseEvent 用户释放按下在图层上的鼠标按钮时触发。
mouseover MouseEvent 鼠标进入图层时触发。
mouseout MouseEvent 鼠标离开图层时触发。
contextmenu MouseEvent 用户右键单击图层时触发,如果此事件有监听器,则阻止默认浏览器上下文菜单显示。在移动设备上,当用户将手指按在屏幕上保持一秒钟(也称为长按)时也会触发。
事件 数据 描述
添加 事件 图层添加到地图后触发
remove 事件 图层从地图中移除后触发
事件 数据 描述
popupopen PopupEvent 绑定到此图层的弹出窗口打开时触发
popupclose PopupEvent 绑定到此图层的弹出窗口关闭时触发
事件 数据 描述
tooltipopen TooltipEvent 绑定到此图层的工具提示打开时触发。
tooltipclose TooltipEvent 绑定到此图层的工具提示关闭时触发。

方法

方法 返回值 描述
toGeoJSON(<数字|false> 精度?) Object

使用给定的 precisionformatNum 函数对坐标值进行舍入。返回折线的 GeoJSON 表示形式(作为 GeoJSON LineStringMultiLineString 特征)。

getLatLngs() LatLng[]

返回路径中的点的数组,或者在多折线的情况下返回嵌套的点数组。

setLatLngs(<LatLng[]> latlngs) this

用给定的地理点数组替换折线中的所有点。

isEmpty() 布尔值

如果折线没有 LatLng,则返回 true

closestLayerPoint(<Point> p)

返回折线上最接近 p 的点。

getCenter() LatLng

返回折线的中心点(质心)。

getBounds() LatLngBounds

返回路径的 LatLngBounds

addLatLng(<LatLng> latlng, <LatLng[]> latlngs?) this

向折线添加给定点。默认情况下,在多折线的情况下,添加至折线的第一个环,但可以通过传递特定的环作为 LatLng 数组(您之前可以使用 getLatLngs 访问)来覆盖。

方法 返回值 描述
redraw() this

重新绘制图层。在更改了路径使用的坐标后,有时很有用。

setStyle(<路径选项> style) this

根据 路径选项 对象中的选项更改路径的外观。

当覆盖层在地图上可见时返回 true() this

将图层置于所有路径图层的最顶端。

将此覆盖层置于其他覆盖层(在同一地图窗格中)的前面。() this

将图层置于所有路径图层的底部。

方法 返回值 描述
addTo(<地图|图层组> 地图) this

将图层添加到给定的地图或图层组。

remove() this

从图层当前处于活动状态的地图中移除图层。

removeFrom(<地图> 地图) this

从给定的地图中移除图层

removeFrom(<图层组> ) this

从给定的 图层组 中移除图层

getPane(<String> 名称?) HTMLElement

返回表示地图上命名窗格的 HTMLElement。如果省略 name,则返回此图层的窗格。

getAttribution() String

attribution control 使用,返回 attribution option

方法 返回值 描述
bindPopup(<字符串|HTMLElement|函数|弹出窗口> content, <Popup 选项> options?) this

使用传递的 content 将弹出窗口绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindPopup() this

移除先前使用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 或默认的弹出窗口锚点处打开绑定的弹出窗口(如果未传递 latlng)。

closePopup() this

关闭绑定到此图层的弹出窗口(如果已打开)。

togglePopup() this

根据其当前状态打开或关闭绑定到此图层的弹出窗口。

isPopupOpen() 布尔值

如果绑定到此图层的弹出窗口当前已打开,则返回 true

setPopupContent(<字符串|HTMLElement|弹出窗口> content) this

设置绑定到此图层的弹出窗口的内容。

getPopup() 弹出框

返回绑定到此图层的弹出窗口。

方法 返回值 描述
bindTooltip(<字符串|HTMLElement|函数|工具提示> content, <Tooltip 选项> options?) this

使用传递的 content 将工具提示绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindTooltip() this

移除先前使用 bindTooltip 绑定的工具提示。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 或默认的工具提示锚点处打开绑定的工具提示(如果未传递 latlng)。

closeTooltip() this

关闭绑定到此图层的工具提示(如果已打开)。

toggleTooltip() this

根据其当前状态打开或关闭绑定到此图层的工具提示。

isTooltipOpen() 布尔值

如果绑定到此图层的工具提示当前已打开,则返回 true

setTooltipContent(<字符串|HTMLElement|工具提示> content) this

设置绑定到此图层的工具提示的内容。

getTooltip() 工具提示

返回绑定到此图层的工具提示。

方法 返回值 描述
on(<String> type, <Function> fn, <Object> context?) this

将监听函数 (fn) 添加到对象的特定事件类型。您可以选择指定监听器的上下文(this 关键字指向的对象)。您也可以传递多个用空格分隔的类型(例如 'click dblclick')。

on(<Object> eventMap) this

添加一组类型/监听器对,例如 {click: onClick, mousemove: onMouseMove}

off(<String> type, <Function> fn?, <Object> context?) this

删除先前添加的监听函数。如果没有指定函数,它将从对象中删除该特定事件的所有监听器。请注意,如果您为 on 传递了自定义上下文,则必须将相同的上下文传递给 off 才能删除监听器。

off(<Object> eventMap) this

删除一组类型/监听器对。

off() this

删除对象上所有事件的所有监听器。这包括隐式附加的事件。

fire(<String> type, <Object> data?, <Boolean> propagate?) this

触发指定类型的事件。您可以选择提供一个数据对象 - 监听函数的第一个参数将包含其属性。事件可以可选地传播到事件父级。

listens(<String> type, <Boolean> propagate?) 布尔值

如果特定事件类型有任何监听器附加到它,则返回 true。验证可以选择传播,如果父级有监听器附加到它,它将返回 true

once() this

on(…) 相同,但监听器只会被触发一次,然后被移除。

addEventParent(<Evented> obj) this

添加一个事件父级 - 一个 Evented,它将接收传播的事件

removeEventParent(<Evented> obj) this

删除一个事件父级,这样它将停止接收传播的事件

addEventListener() this

on(…) 的别名

removeEventListener() this

off(…) 的别名

clearAllEventListeners() this

off() 的别名

addOneTimeEventListener() this

once(…) 的别名

fireEvent() this

fire(…) 的别名

hasEventListeners() 布尔值

listens(…) 的别名

多边形

一个用于在地图上绘制多边形叠加层的类。扩展了 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 = L.polygon(latlngs, {color: 'red'}).addTo(map);

// zoom the map to the polygon
map.fitBounds(polygon.getBounds());

您还可以传递一个 latlng 数组数组,其中第一个数组表示外部形状,其他数组表示外部形状中的孔。

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]]
  ]
];

创建

工厂 描述
L.polygon(<LatLng[]> latlngs, <Polyline 选项> options?)

选项

选项 类型 默认值 描述
smoothFactor 数字 1.0 在每个缩放级别上简化折线的程度。值越大,性能越好,外观越平滑,值越小,表示越准确。
noClip 布尔值 false 禁用折线裁剪。
选项 类型 默认值 描述
stroke 布尔值 true 是否沿路径绘制描边。将其设置为 false 可以禁用多边形或圆形的边框。
color String '#3388ff' 描边颜色
weight 数字 3 描边宽度(以像素为单位)
opacity 数字 1.0 描边不透明度
lineCap String 'round' 一个字符串,定义了 描边末端使用的形状
lineJoin String 'round' 一个字符串,定义了 描边拐角处使用的形状
dashArray String null 一个字符串,定义了描边的 虚线图案。在 某些旧浏览器 中,Canvas 支持的图层上不适用。
dashOffset String null 一个字符串,定义了 虚线图案的起始位置。在 某些旧浏览器 中,Canvas 支持的图层上不适用。
fill 布尔值 取决于 是否用颜色填充路径。将其设置为 false 可以禁用多边形或圆形的填充。
fillColor String * 填充颜色。默认为 color 选项的值
fillOpacity 数字 0.2 填充不透明度。
fillRule String 'evenodd' 一个字符串,定义了 如何确定形状的内部
bubblingMouseEvents 布尔值 true true 时,此路径上的鼠标事件将触发地图上的相同事件(除非使用 L.DomEvent.stopPropagation)。
renderer 渲染器 对该路径使用此 Renderer 的特定实例。优先于地图的 默认渲染器
覆盖层位置的偏移量。 String null 在元素上设置的自定义类名。仅适用于 SVG 渲染器。
选项 类型 默认值 描述
interactive 布尔值 true 如果为 false,则该层将不会发出鼠标事件,并且将充当底层地图的一部分。
选项 类型 默认值 描述
pane String 'overlayPane' 默认情况下,图层将被添加到地图的 叠加面板。覆盖此选项将导致图层默认情况下放置在另一个面板上。
attribution String null 要显示在归属控件中的字符串,例如 "© OpenStreetMap 贡献者"。它描述了图层数据,通常是针对版权持有者和瓦片提供者的法律义务。

事件

事件 数据 描述
click MouseEvent 用户点击(或轻触)图层时触发。
dblclick MouseEvent 用户双击(或双击)图层时触发。
mousedown MouseEvent 用户在图层上按下鼠标按钮时触发。
mouseup MouseEvent 用户释放按下在图层上的鼠标按钮时触发。
mouseover MouseEvent 鼠标进入图层时触发。
mouseout MouseEvent 鼠标离开图层时触发。
contextmenu MouseEvent 用户右键单击图层时触发,如果此事件有监听器,则阻止默认浏览器上下文菜单显示。在移动设备上,当用户将手指按在屏幕上保持一秒钟(也称为长按)时也会触发。
事件 数据 描述
添加 事件 图层添加到地图后触发
remove 事件 图层从地图中移除后触发
事件 数据 描述
popupopen PopupEvent 绑定到此图层的弹出窗口打开时触发
popupclose PopupEvent 绑定到此图层的弹出窗口关闭时触发
事件 数据 描述
tooltipopen TooltipEvent 绑定到此图层的工具提示打开时触发。
tooltipclose TooltipEvent 绑定到此图层的工具提示关闭时触发。

方法

方法 返回值 描述
toGeoJSON(<数字|false> 精度?) Object

使用给定的 precisionformatNum 函数对坐标值进行舍入。返回多边形的 GeoJSON 表示形式(作为 GeoJSON PolygonMultiPolygon 特征)。

getCenter() LatLng

返回多边形的中心点(质心)。

方法 返回值 描述
getLatLngs() LatLng[]

返回路径中的点的数组,或者在多折线的情况下返回嵌套的点数组。

setLatLngs(<LatLng[]> latlngs) this

用给定的地理点数组替换折线中的所有点。

isEmpty() 布尔值

如果折线没有 LatLng,则返回 true

closestLayerPoint(<Point> p)

返回折线上最接近 p 的点。

getBounds() LatLngBounds

返回路径的 LatLngBounds

addLatLng(<LatLng> latlng, <LatLng[]> latlngs?) this

向折线添加给定点。默认情况下,在多折线的情况下,添加至折线的第一个环,但可以通过传递特定的环作为 LatLng 数组(您之前可以使用 getLatLngs 访问)来覆盖。

方法 返回值 描述
redraw() this

重新绘制图层。在更改了路径使用的坐标后,有时很有用。

setStyle(<路径选项> style) this

根据 路径选项 对象中的选项更改路径的外观。

当覆盖层在地图上可见时返回 true() this

将图层置于所有路径图层的最顶端。

将此覆盖层置于其他覆盖层(在同一地图窗格中)的前面。() this

将图层置于所有路径图层的底部。

方法 返回值 描述
addTo(<地图|图层组> 地图) this

将图层添加到给定的地图或图层组。

remove() this

从图层当前处于活动状态的地图中移除图层。

removeFrom(<地图> 地图) this

从给定的地图中移除图层

removeFrom(<图层组> ) this

从给定的 图层组 中移除图层

getPane(<String> 名称?) HTMLElement

返回表示地图上命名窗格的 HTMLElement。如果省略 name,则返回此图层的窗格。

getAttribution() String

attribution control 使用,返回 attribution option

方法 返回值 描述
bindPopup(<字符串|HTMLElement|函数|弹出窗口> content, <Popup 选项> options?) this

使用传递的 content 将弹出窗口绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindPopup() this

移除先前使用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 或默认的弹出窗口锚点处打开绑定的弹出窗口(如果未传递 latlng)。

closePopup() this

关闭绑定到此图层的弹出窗口(如果已打开)。

togglePopup() this

根据其当前状态打开或关闭绑定到此图层的弹出窗口。

isPopupOpen() 布尔值

如果绑定到此图层的弹出窗口当前已打开,则返回 true

setPopupContent(<字符串|HTMLElement|弹出窗口> content) this

设置绑定到此图层的弹出窗口的内容。

getPopup() 弹出框

返回绑定到此图层的弹出窗口。

方法 返回值 描述
bindTooltip(<字符串|HTMLElement|函数|工具提示> content, <Tooltip 选项> options?) this

使用传递的 content 将工具提示绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindTooltip() this

移除先前使用 bindTooltip 绑定的工具提示。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 或默认的工具提示锚点处打开绑定的工具提示(如果未传递 latlng)。

closeTooltip() this

关闭绑定到此图层的工具提示(如果已打开)。

toggleTooltip() this

根据其当前状态打开或关闭绑定到此图层的工具提示。

isTooltipOpen() 布尔值

如果绑定到此图层的工具提示当前已打开,则返回 true

setTooltipContent(<字符串|HTMLElement|工具提示> content) this

设置绑定到此图层的工具提示的内容。

getTooltip() 工具提示

返回绑定到此图层的工具提示。

方法 返回值 描述
on(<String> type, <Function> fn, <Object> context?) this

将监听函数 (fn) 添加到对象的特定事件类型。您可以选择指定监听器的上下文(this 关键字指向的对象)。您也可以传递多个用空格分隔的类型(例如 'click dblclick')。

on(<Object> eventMap) this

添加一组类型/监听器对,例如 {click: onClick, mousemove: onMouseMove}

off(<String> type, <Function> fn?, <Object> context?) this

删除先前添加的监听函数。如果没有指定函数,它将从对象中删除该特定事件的所有监听器。请注意,如果您为 on 传递了自定义上下文,则必须将相同的上下文传递给 off 才能删除监听器。

off(<Object> eventMap) this

删除一组类型/监听器对。

off() this

删除对象上所有事件的所有监听器。这包括隐式附加的事件。

fire(<String> type, <Object> data?, <Boolean> propagate?) this

触发指定类型的事件。您可以选择提供一个数据对象 - 监听函数的第一个参数将包含其属性。事件可以可选地传播到事件父级。

listens(<String> type, <Boolean> propagate?) 布尔值

如果特定事件类型有任何监听器附加到它,则返回 true。验证可以选择传播,如果父级有监听器附加到它,它将返回 true

once() this

on(…) 相同,但监听器只会被触发一次,然后被移除。

addEventParent(<Evented> obj) this

添加一个事件父级 - 一个 Evented,它将接收传播的事件

removeEventParent(<Evented> obj) this

删除一个事件父级,这样它将停止接收传播的事件

addEventListener() this

on(…) 的别名

removeEventListener() this

off(…) 的别名

clearAllEventListeners() this

off() 的别名

addOneTimeEventListener() this

once(…) 的别名

fireEvent() this

fire(…) 的别名

hasEventListeners() 布尔值

listens(…) 的别名

矩形

一个用于在地图上绘制矩形叠加层的类。扩展了 Polygon

使用示例

// define rectangle geographical bounds
var bounds = [[54.559322, -5.767822], [56.1210604, -3.021240]];

// create an orange rectangle
L.rectangle(bounds, {color: "#ff7800", weight: 1}).addTo(map);

// zoom the map to the rectangle bounds
map.fitBounds(bounds);

创建

工厂 描述
L.rectangle(<LatLngBounds> latLngBounds, <Polyline 选项> options?)

选项

选项 类型 默认值 描述
smoothFactor 数字 1.0 在每个缩放级别上简化折线的程度。值越大,性能越好,外观越平滑,值越小,表示越准确。
noClip 布尔值 false 禁用折线裁剪。
选项 类型 默认值 描述
stroke 布尔值 true 是否沿路径绘制描边。将其设置为 false 可以禁用多边形或圆形的边框。
color String '#3388ff' 描边颜色
weight 数字 3 描边宽度(以像素为单位)
opacity 数字 1.0 描边不透明度
lineCap String 'round' 一个字符串,定义了 描边末端使用的形状
lineJoin String 'round' 一个字符串,定义了 描边拐角处使用的形状
dashArray String null 一个字符串,定义了描边的 虚线图案。在 某些旧浏览器 中,Canvas 支持的图层上不适用。
dashOffset String null 一个字符串,定义了 虚线图案的起始位置。在 某些旧浏览器 中,Canvas 支持的图层上不适用。
fill 布尔值 取决于 是否用颜色填充路径。将其设置为 false 可以禁用多边形或圆形的填充。
fillColor String * 填充颜色。默认为 color 选项的值
fillOpacity 数字 0.2 填充不透明度。
fillRule String 'evenodd' 一个字符串,定义了 如何确定形状的内部
bubblingMouseEvents 布尔值 true true 时,此路径上的鼠标事件将触发地图上的相同事件(除非使用 L.DomEvent.stopPropagation)。
renderer 渲染器 对该路径使用此 Renderer 的特定实例。优先于地图的 默认渲染器
覆盖层位置的偏移量。 String null 在元素上设置的自定义类名。仅适用于 SVG 渲染器。
选项 类型 默认值 描述
interactive 布尔值 true 如果为 false,则该层将不会发出鼠标事件,并且将充当底层地图的一部分。
选项 类型 默认值 描述
pane String 'overlayPane' 默认情况下,图层将被添加到地图的 叠加面板。覆盖此选项将导致图层默认情况下放置在另一个面板上。
attribution String null 要显示在归属控件中的字符串,例如 "© OpenStreetMap 贡献者"。它描述了图层数据,通常是针对版权持有者和瓦片提供者的法律义务。

事件

事件 数据 描述
click MouseEvent 用户点击(或轻触)图层时触发。
dblclick MouseEvent 用户双击(或双击)图层时触发。
mousedown MouseEvent 用户在图层上按下鼠标按钮时触发。
mouseup MouseEvent 用户释放按下在图层上的鼠标按钮时触发。
mouseover MouseEvent 鼠标进入图层时触发。
mouseout MouseEvent 鼠标离开图层时触发。
contextmenu MouseEvent 用户右键单击图层时触发,如果此事件有监听器,则阻止默认浏览器上下文菜单显示。在移动设备上,当用户将手指按在屏幕上保持一秒钟(也称为长按)时也会触发。
事件 数据 描述
添加 事件 图层添加到地图后触发
remove 事件 图层从地图中移除后触发
事件 数据 描述
popupopen PopupEvent 绑定到此图层的弹出窗口打开时触发
popupclose PopupEvent 绑定到此图层的弹出窗口关闭时触发
事件 数据 描述
tooltipopen TooltipEvent 绑定到此图层的工具提示打开时触发。
tooltipclose TooltipEvent 绑定到此图层的工具提示关闭时触发。

方法

方法 返回值 描述
setBounds(<LatLngBounds> latLngBounds) this

使用传递的范围重新绘制矩形。

方法 返回值 描述
toGeoJSON(<数字|false> 精度?) Object

使用给定的 precisionformatNum 函数对坐标值进行舍入。返回多边形的 GeoJSON 表示形式(作为 GeoJSON PolygonMultiPolygon 特征)。

getCenter() LatLng

返回多边形的中心点(质心)。

方法 返回值 描述
getLatLngs() LatLng[]

返回路径中的点的数组,或者在多折线的情况下返回嵌套的点数组。

setLatLngs(<LatLng[]> latlngs) this

用给定的地理点数组替换折线中的所有点。

isEmpty() 布尔值

如果折线没有 LatLng,则返回 true

closestLayerPoint(<Point> p)

返回折线上最接近 p 的点。

getBounds() LatLngBounds

返回路径的 LatLngBounds

addLatLng(<LatLng> latlng, <LatLng[]> latlngs?) this

向折线添加给定点。默认情况下,在多折线的情况下,添加至折线的第一个环,但可以通过传递特定的环作为 LatLng 数组(您之前可以使用 getLatLngs 访问)来覆盖。

方法 返回值 描述
redraw() this

重新绘制图层。在更改了路径使用的坐标后,有时很有用。

setStyle(<路径选项> style) this

根据 路径选项 对象中的选项更改路径的外观。

当覆盖层在地图上可见时返回 true() this

将图层置于所有路径图层的最顶端。

将此覆盖层置于其他覆盖层(在同一地图窗格中)的前面。() this

将图层置于所有路径图层的底部。

方法 返回值 描述
addTo(<地图|图层组> 地图) this

将图层添加到给定的地图或图层组。

remove() this

从图层当前处于活动状态的地图中移除图层。

removeFrom(<地图> 地图) this

从给定的地图中移除图层

removeFrom(<图层组> ) this

从给定的 图层组 中移除图层

getPane(<String> 名称?) HTMLElement

返回表示地图上命名窗格的 HTMLElement。如果省略 name,则返回此图层的窗格。

getAttribution() String

attribution control 使用,返回 attribution option

方法 返回值 描述
bindPopup(<字符串|HTMLElement|函数|弹出窗口> content, <Popup 选项> options?) this

使用传递的 content 将弹出窗口绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindPopup() this

移除先前使用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 或默认的弹出窗口锚点处打开绑定的弹出窗口(如果未传递 latlng)。

closePopup() this

关闭绑定到此图层的弹出窗口(如果已打开)。

togglePopup() this

根据其当前状态打开或关闭绑定到此图层的弹出窗口。

isPopupOpen() 布尔值

如果绑定到此图层的弹出窗口当前已打开,则返回 true

setPopupContent(<字符串|HTMLElement|弹出窗口> content) this

设置绑定到此图层的弹出窗口的内容。

getPopup() 弹出框

返回绑定到此图层的弹出窗口。

方法 返回值 描述
bindTooltip(<字符串|HTMLElement|函数|工具提示> content, <Tooltip 选项> options?) this

使用传递的 content 将工具提示绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindTooltip() this

移除先前使用 bindTooltip 绑定的工具提示。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 或默认的工具提示锚点处打开绑定的工具提示(如果未传递 latlng)。

closeTooltip() this

关闭绑定到此图层的工具提示(如果已打开)。

toggleTooltip() this

根据其当前状态打开或关闭绑定到此图层的工具提示。

isTooltipOpen() 布尔值

如果绑定到此图层的工具提示当前已打开,则返回 true

setTooltipContent(<字符串|HTMLElement|工具提示> content) this

设置绑定到此图层的工具提示的内容。

getTooltip() 工具提示

返回绑定到此图层的工具提示。

方法 返回值 描述
on(<String> type, <Function> fn, <Object> context?) this

将监听函数 (fn) 添加到对象的特定事件类型。您可以选择指定监听器的上下文(this 关键字指向的对象)。您也可以传递多个用空格分隔的类型(例如 'click dblclick')。

on(<Object> eventMap) this

添加一组类型/监听器对,例如 {click: onClick, mousemove: onMouseMove}

off(<String> type, <Function> fn?, <Object> context?) this

删除先前添加的监听函数。如果没有指定函数,它将从对象中删除该特定事件的所有监听器。请注意,如果您为 on 传递了自定义上下文,则必须将相同的上下文传递给 off 才能删除监听器。

off(<Object> eventMap) this

删除一组类型/监听器对。

off() this

删除对象上所有事件的所有监听器。这包括隐式附加的事件。

fire(<String> type, <Object> data?, <Boolean> propagate?) this

触发指定类型的事件。您可以选择提供一个数据对象 - 监听函数的第一个参数将包含其属性。事件可以可选地传播到事件父级。

listens(<String> type, <Boolean> propagate?) 布尔值

如果特定事件类型有任何监听器附加到它,则返回 true。验证可以选择传播,如果父级有监听器附加到它,它将返回 true

once() this

on(…) 相同,但监听器只会被触发一次,然后被移除。

addEventParent(<Evented> obj) this

添加一个事件父级 - 一个 Evented,它将接收传播的事件

removeEventParent(<Evented> obj) this

删除一个事件父级,这样它将停止接收传播的事件

addEventListener() this

on(…) 的别名

removeEventListener() this

off(…) 的别名

clearAllEventListeners() this

off() 的别名

addOneTimeEventListener() this

once(…) 的别名

fireEvent() this

fire(…) 的别名

hasEventListeners() 布尔值

listens(…) 的别名

圆形

一个用于在地图上绘制圆形叠加层的类。扩展了 CircleMarker

这是一个近似值,并且开始偏离真实的圆形,越接近极点(由于投影失真)偏差越大。

使用示例

L.circle([50.5, 30.5], {radius: 200}).addTo(map);

创建

工厂 描述
L.circle(<LatLng> latlng, <圆形选项> options?) 根据地理点和包含圆形半径的选项对象来实例化一个圆形对象。
L.circle(<LatLng> latlng, <Number> radius, <圆形选项> options?) 实例化圆形的一种过时方法,为了与 0.7.x 代码兼容。不要在新应用程序或插件中使用。

选项

选项 类型 默认值 描述
radius 数字 圆形的半径(以米为单位)。
选项 类型 默认值 描述
stroke 布尔值 true 是否沿路径绘制描边。将其设置为 false 可以禁用多边形或圆形的边框。
color String '#3388ff' 描边颜色
weight 数字 3 描边宽度(以像素为单位)
opacity 数字 1.0 描边不透明度
lineCap String 'round' 一个字符串,定义了 描边末端使用的形状
lineJoin String 'round' 一个字符串,定义了 描边拐角处使用的形状
dashArray String null 一个字符串,定义了描边的 虚线图案。在 某些旧浏览器 中,Canvas 支持的图层上不适用。
dashOffset String null 一个字符串,定义了 虚线图案的起始位置。在 某些旧浏览器 中,Canvas 支持的图层上不适用。
fill 布尔值 取决于 是否用颜色填充路径。将其设置为 false 可以禁用多边形或圆形的填充。
fillColor String * 填充颜色。默认为 color 选项的值
fillOpacity 数字 0.2 填充不透明度。
fillRule String 'evenodd' 一个字符串,定义了 如何确定形状的内部
bubblingMouseEvents 布尔值 true true 时,此路径上的鼠标事件将触发地图上的相同事件(除非使用 L.DomEvent.stopPropagation)。
renderer 渲染器 对该路径使用此 Renderer 的特定实例。优先于地图的 默认渲染器
覆盖层位置的偏移量。 String null 在元素上设置的自定义类名。仅适用于 SVG 渲染器。
选项 类型 默认值 描述
interactive 布尔值 true 如果为 false,则该层将不会发出鼠标事件,并且将充当底层地图的一部分。
选项 类型 默认值 描述
pane String 'overlayPane' 默认情况下,图层将被添加到地图的 叠加面板。覆盖此选项将导致图层默认情况下放置在另一个面板上。
attribution String null 要显示在归属控件中的字符串,例如 "© OpenStreetMap 贡献者"。它描述了图层数据,通常是针对版权持有者和瓦片提供者的法律义务。

事件

事件 数据 描述
move 事件 当标记通过 setLatLng 移动时触发。事件参数中包含旧坐标和新坐标,分别为 oldLatLnglatlng
事件 数据 描述
click MouseEvent 用户点击(或轻触)图层时触发。
dblclick MouseEvent 用户双击(或双击)图层时触发。
mousedown MouseEvent 用户在图层上按下鼠标按钮时触发。
mouseup MouseEvent 用户释放按下在图层上的鼠标按钮时触发。
mouseover MouseEvent 鼠标进入图层时触发。
mouseout MouseEvent 鼠标离开图层时触发。
contextmenu MouseEvent 用户右键单击图层时触发,如果此事件有监听器,则阻止默认浏览器上下文菜单显示。在移动设备上,当用户将手指按在屏幕上保持一秒钟(也称为长按)时也会触发。
事件 数据 描述
添加 事件 图层添加到地图后触发
remove 事件 图层从地图中移除后触发
事件 数据 描述
popupopen PopupEvent 绑定到此图层的弹出窗口打开时触发
popupclose PopupEvent 绑定到此图层的弹出窗口关闭时触发
事件 数据 描述
tooltipopen TooltipEvent 绑定到此图层的工具提示打开时触发。
tooltipclose TooltipEvent 绑定到此图层的工具提示关闭时触发。

方法

方法 返回值 描述
setRadius(<Number> radius) this

设置圆形的半径。单位为米。

getRadius() 数字

返回圆形的当前半径。单位为米。

getBounds() LatLngBounds

返回路径的 LatLngBounds

方法 返回值 描述
toGeoJSON(<数字|false> 精度?) Object

使用给定的 precisionformatNum 函数对坐标值进行舍入。返回圆形标记的 GeoJSON 表示形式(作为 GeoJSON Point 特征)。

setLatLng(<LatLng> latLng) this

将圆形标记的位置设置为新位置。

getLatLng() LatLng

返回圆形标记的当前地理位置

方法 返回值 描述
redraw() this

重新绘制图层。在更改了路径使用的坐标后,有时很有用。

setStyle(<路径选项> style) this

根据 路径选项 对象中的选项更改路径的外观。

当覆盖层在地图上可见时返回 true() this

将图层置于所有路径图层的最顶端。

将此覆盖层置于其他覆盖层(在同一地图窗格中)的前面。() this

将图层置于所有路径图层的底部。

方法 返回值 描述
addTo(<地图|图层组> 地图) this

将图层添加到给定的地图或图层组。

remove() this

从图层当前处于活动状态的地图中移除图层。

removeFrom(<地图> 地图) this

从给定的地图中移除图层

removeFrom(<图层组> ) this

从给定的 图层组 中移除图层

getPane(<String> 名称?) HTMLElement

返回表示地图上命名窗格的 HTMLElement。如果省略 name,则返回此图层的窗格。

getAttribution() String

attribution control 使用,返回 attribution option

方法 返回值 描述
bindPopup(<字符串|HTMLElement|函数|弹出窗口> content, <Popup 选项> options?) this

使用传递的 content 将弹出窗口绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindPopup() this

移除先前使用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 或默认的弹出窗口锚点处打开绑定的弹出窗口(如果未传递 latlng)。

closePopup() this

关闭绑定到此图层的弹出窗口(如果已打开)。

togglePopup() this

根据其当前状态打开或关闭绑定到此图层的弹出窗口。

isPopupOpen() 布尔值

如果绑定到此图层的弹出窗口当前已打开,则返回 true

setPopupContent(<字符串|HTMLElement|弹出窗口> content) this

设置绑定到此图层的弹出窗口的内容。

getPopup() 弹出框

返回绑定到此图层的弹出窗口。

方法 返回值 描述
bindTooltip(<字符串|HTMLElement|函数|工具提示> content, <Tooltip 选项> options?) this

使用传递的 content 将工具提示绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindTooltip() this

移除先前使用 bindTooltip 绑定的工具提示。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 或默认的工具提示锚点处打开绑定的工具提示(如果未传递 latlng)。

closeTooltip() this

关闭绑定到此图层的工具提示(如果已打开)。

toggleTooltip() this

根据其当前状态打开或关闭绑定到此图层的工具提示。

isTooltipOpen() 布尔值

如果绑定到此图层的工具提示当前已打开,则返回 true

setTooltipContent(<字符串|HTMLElement|工具提示> content) this

设置绑定到此图层的工具提示的内容。

getTooltip() 工具提示

返回绑定到此图层的工具提示。

方法 返回值 描述
on(<String> type, <Function> fn, <Object> context?) this

将监听函数 (fn) 添加到对象的特定事件类型。您可以选择指定监听器的上下文(this 关键字指向的对象)。您也可以传递多个用空格分隔的类型(例如 'click dblclick')。

on(<Object> eventMap) this

添加一组类型/监听器对,例如 {click: onClick, mousemove: onMouseMove}

off(<String> type, <Function> fn?, <Object> context?) this

删除先前添加的监听函数。如果没有指定函数,它将从对象中删除该特定事件的所有监听器。请注意,如果您为 on 传递了自定义上下文,则必须将相同的上下文传递给 off 才能删除监听器。

off(<Object> eventMap) this

删除一组类型/监听器对。

off() this

删除对象上所有事件的所有监听器。这包括隐式附加的事件。

fire(<String> type, <Object> data?, <Boolean> propagate?) this

触发指定类型的事件。您可以选择提供一个数据对象 - 监听函数的第一个参数将包含其属性。事件可以可选地传播到事件父级。

listens(<String> type, <Boolean> propagate?) 布尔值

如果特定事件类型有任何监听器附加到它,则返回 true。验证可以选择传播,如果父级有监听器附加到它,它将返回 true

once() this

on(…) 相同,但监听器只会被触发一次,然后被移除。

addEventParent(<Evented> obj) this

添加一个事件父级 - 一个 Evented,它将接收传播的事件

removeEventParent(<Evented> obj) this

删除一个事件父级,这样它将停止接收传播的事件

addEventListener() this

on(…) 的别名

removeEventListener() this

off(…) 的别名

clearAllEventListeners() this

off() 的别名

addOneTimeEventListener() this

once(…) 的别名

fireEvent() this

fire(…) 的别名

hasEventListeners() 布尔值

listens(…) 的别名

圆形标记

一个固定大小的圆形,半径以像素为单位指定。扩展了 Path

创建

工厂 描述
L.circleMarker(<LatLng> latlng, <CircleMarker 选项> options?) 根据地理点和可选的选项对象来实例化一个圆形标记对象。

选项

选项 类型 默认值 描述
radius 数字 10 圆形标记的半径(以像素为单位)
选项 类型 默认值 描述
stroke 布尔值 true 是否沿路径绘制描边。将其设置为 false 可以禁用多边形或圆形的边框。
color String '#3388ff' 描边颜色
weight 数字 3 描边宽度(以像素为单位)
opacity 数字 1.0 描边不透明度
lineCap String 'round' 一个字符串,定义了 描边末端使用的形状
lineJoin String 'round' 一个字符串,定义了 描边拐角处使用的形状
dashArray String null 一个字符串,定义了描边的 虚线图案。在 某些旧浏览器 中,Canvas 支持的图层上不适用。
dashOffset String null 一个字符串,定义了 虚线图案的起始位置。在 某些旧浏览器 中,Canvas 支持的图层上不适用。
fill 布尔值 取决于 是否用颜色填充路径。将其设置为 false 可以禁用多边形或圆形的填充。
fillColor String * 填充颜色。默认为 color 选项的值
fillOpacity 数字 0.2 填充不透明度。
fillRule String 'evenodd' 一个字符串,定义了 如何确定形状的内部
bubblingMouseEvents 布尔值 true true 时,此路径上的鼠标事件将触发地图上的相同事件(除非使用 L.DomEvent.stopPropagation)。
renderer 渲染器 对该路径使用此 Renderer 的特定实例。优先于地图的 默认渲染器
覆盖层位置的偏移量。 String null 在元素上设置的自定义类名。仅适用于 SVG 渲染器。
选项 类型 默认值 描述
interactive 布尔值 true 如果为 false,则该层将不会发出鼠标事件,并且将充当底层地图的一部分。
选项 类型 默认值 描述
pane String 'overlayPane' 默认情况下,图层将被添加到地图的 叠加面板。覆盖此选项将导致图层默认情况下放置在另一个面板上。
attribution String null 要显示在归属控件中的字符串,例如 "© OpenStreetMap 贡献者"。它描述了图层数据,通常是针对版权持有者和瓦片提供者的法律义务。

事件

事件 数据 描述
move 事件 当标记通过 setLatLng 移动时触发。事件参数中包含旧坐标和新坐标,分别为 oldLatLnglatlng
事件 数据 描述
click MouseEvent 用户点击(或轻触)图层时触发。
dblclick MouseEvent 用户双击(或双击)图层时触发。
mousedown MouseEvent 用户在图层上按下鼠标按钮时触发。
mouseup MouseEvent 用户释放按下在图层上的鼠标按钮时触发。
mouseover MouseEvent 鼠标进入图层时触发。
mouseout MouseEvent 鼠标离开图层时触发。
contextmenu MouseEvent 用户右键单击图层时触发,如果此事件有监听器,则阻止默认浏览器上下文菜单显示。在移动设备上,当用户将手指按在屏幕上保持一秒钟(也称为长按)时也会触发。
事件 数据 描述
添加 事件 图层添加到地图后触发
remove 事件 图层从地图中移除后触发
事件 数据 描述
popupopen PopupEvent 绑定到此图层的弹出窗口打开时触发
popupclose PopupEvent 绑定到此图层的弹出窗口关闭时触发
事件 数据 描述
tooltipopen TooltipEvent 绑定到此图层的工具提示打开时触发。
tooltipclose TooltipEvent 绑定到此图层的工具提示关闭时触发。

方法

方法 返回值 描述
toGeoJSON(<数字|false> 精度?) Object

使用给定的 precisionformatNum 函数对坐标值进行舍入。返回圆形标记的 GeoJSON 表示形式(作为 GeoJSON Point 特征)。

setLatLng(<LatLng> latLng) this

将圆形标记的位置设置为新位置。

getLatLng() LatLng

返回圆形标记的当前地理位置

setRadius(<Number> radius) this

设置圆形标记的半径。单位为像素。

getRadius() 数字

返回圆形的当前半径

方法 返回值 描述
redraw() this

重新绘制图层。在更改了路径使用的坐标后,有时很有用。

setStyle(<路径选项> style) this

根据 路径选项 对象中的选项更改路径的外观。

当覆盖层在地图上可见时返回 true() this

将图层置于所有路径图层的最顶端。

将此覆盖层置于其他覆盖层(在同一地图窗格中)的前面。() this

将图层置于所有路径图层的底部。

方法 返回值 描述
addTo(<地图|图层组> 地图) this

将图层添加到给定的地图或图层组。

remove() this

从图层当前处于活动状态的地图中移除图层。

removeFrom(<地图> 地图) this

从给定的地图中移除图层

removeFrom(<图层组> ) this

从给定的 图层组 中移除图层

getPane(<String> 名称?) HTMLElement

返回表示地图上命名窗格的 HTMLElement。如果省略 name,则返回此图层的窗格。

getAttribution() String

attribution control 使用,返回 attribution option

方法 返回值 描述
bindPopup(<字符串|HTMLElement|函数|弹出窗口> content, <Popup 选项> options?) this

使用传递的 content 将弹出窗口绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindPopup() this

移除先前使用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 或默认的弹出窗口锚点处打开绑定的弹出窗口(如果未传递 latlng)。

closePopup() this

关闭绑定到此图层的弹出窗口(如果已打开)。

togglePopup() this

根据其当前状态打开或关闭绑定到此图层的弹出窗口。

isPopupOpen() 布尔值

如果绑定到此图层的弹出窗口当前已打开,则返回 true

setPopupContent(<字符串|HTMLElement|弹出窗口> content) this

设置绑定到此图层的弹出窗口的内容。

getPopup() 弹出框

返回绑定到此图层的弹出窗口。

方法 返回值 描述
bindTooltip(<字符串|HTMLElement|函数|工具提示> content, <Tooltip 选项> options?) this

使用传递的 content 将工具提示绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindTooltip() this

移除先前使用 bindTooltip 绑定的工具提示。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 或默认的工具提示锚点处打开绑定的工具提示(如果未传递 latlng)。

closeTooltip() this

关闭绑定到此图层的工具提示(如果已打开)。

toggleTooltip() this

根据其当前状态打开或关闭绑定到此图层的工具提示。

isTooltipOpen() 布尔值

如果绑定到此图层的工具提示当前已打开,则返回 true

setTooltipContent(<字符串|HTMLElement|工具提示> content) this

设置绑定到此图层的工具提示的内容。

getTooltip() 工具提示

返回绑定到此图层的工具提示。

方法 返回值 描述
on(<String> type, <Function> fn, <Object> context?) this

将监听函数 (fn) 添加到对象的特定事件类型。您可以选择指定监听器的上下文(this 关键字指向的对象)。您也可以传递多个用空格分隔的类型(例如 'click dblclick')。

on(<Object> eventMap) this

添加一组类型/监听器对,例如 {click: onClick, mousemove: onMouseMove}

off(<String> type, <Function> fn?, <Object> context?) this

删除先前添加的监听函数。如果没有指定函数,它将从对象中删除该特定事件的所有监听器。请注意,如果您为 on 传递了自定义上下文,则必须将相同的上下文传递给 off 才能删除监听器。

off(<Object> eventMap) this

删除一组类型/监听器对。

off() this

删除对象上所有事件的所有监听器。这包括隐式附加的事件。

fire(<String> type, <Object> data?, <Boolean> propagate?) this

触发指定类型的事件。您可以选择提供一个数据对象 - 监听函数的第一个参数将包含其属性。事件可以可选地传播到事件父级。

listens(<String> type, <Boolean> propagate?) 布尔值

如果特定事件类型有任何监听器附加到它,则返回 true。验证可以选择传播,如果父级有监听器附加到它,它将返回 true

once() this

on(…) 相同,但监听器只会被触发一次,然后被移除。

addEventParent(<Evented> obj) this

添加一个事件父级 - 一个 Evented,它将接收传播的事件

removeEventParent(<Evented> obj) this

删除一个事件父级,这样它将停止接收传播的事件

addEventListener() this

on(…) 的别名

removeEventListener() this

off(…) 的别名

clearAllEventListeners() this

off() 的别名

addOneTimeEventListener() this

once(…) 的别名

fireEvent() this

fire(…) 的别名

hasEventListeners() 布尔值

listens(…) 的别名

SVG

允许使用 SVG 显示向量图层。继承了 Renderer

由于 技术限制,并非所有 Web 浏览器都支持 SVG,尤其是 Android 2.x 和 3.x。

尽管 IE7 和 IE8 不支持 SVG,但这些浏览器支持 VML(一项现在已弃用的技术),在这种情况下,SVG 渲染器将回退到 VML。

VML 于 2012 年被弃用,这意味着 VML 功能仅为了向后兼容旧版本的 Internet Explorer 而存在。

使用示例

默认情况下,对地图中的所有路径使用 SVG

var map = L.map('map', {
	renderer: L.svg()
});

对特定向量几何体使用带额外填充的 SVG 渲染器

var map = L.map('map');
var myRenderer = L.svg({ padding: 0.5 });
var line = L.polyline( coordinates, { renderer: myRenderer } );
var circle = L.circle( center, { renderer: myRenderer } );

创建

工厂 描述
L.svg(<渲染器选项> options?) 使用给定的选项创建一个 SVG 渲染器。

选项

选项 类型 默认值 描述
padding 数字 0.1 地图视图周围的剪切区域要扩展多少(相对于其大小),例如 0.1 表示每个方向扩展地图视图的 10%
选项 类型 默认值 描述
pane String 'overlayPane' 默认情况下,图层将被添加到地图的 叠加面板。覆盖此选项将导致图层默认情况下放置在另一个面板上。
attribution String null 要显示在归属控件中的字符串,例如 "© OpenStreetMap 贡献者"。它描述了图层数据,通常是针对版权持有者和瓦片提供者的法律义务。

事件

事件 数据 描述
返回覆盖层的 HTML 容器。 事件 当渲染器更新其范围、中心点和缩放级别时触发,例如当其地图移动时。
事件 数据 描述
添加 事件 图层添加到地图后触发
remove 事件 图层从地图中移除后触发
事件 数据 描述
popupopen PopupEvent 绑定到此图层的弹出窗口打开时触发
popupclose PopupEvent 绑定到此图层的弹出窗口关闭时触发
事件 数据 描述
tooltipopen TooltipEvent 绑定到此图层的工具提示打开时触发。
tooltipclose TooltipEvent 绑定到此图层的工具提示关闭时触发。

方法

方法 返回值 描述
addTo(<地图|图层组> 地图) this

将图层添加到给定的地图或图层组。

remove() this

从图层当前处于活动状态的地图中移除图层。

removeFrom(<地图> 地图) this

从给定的地图中移除图层

removeFrom(<图层组> ) this

从给定的 图层组 中移除图层

getPane(<String> 名称?) HTMLElement

返回表示地图上命名窗格的 HTMLElement。如果省略 name,则返回此图层的窗格。

getAttribution() String

attribution control 使用,返回 attribution option

方法 返回值 描述
bindPopup(<字符串|HTMLElement|函数|弹出窗口> content, <Popup 选项> options?) this

使用传递的 content 将弹出窗口绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindPopup() this

移除先前使用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 或默认的弹出窗口锚点处打开绑定的弹出窗口(如果未传递 latlng)。

closePopup() this

关闭绑定到此图层的弹出窗口(如果已打开)。

togglePopup() this

根据其当前状态打开或关闭绑定到此图层的弹出窗口。

isPopupOpen() 布尔值

如果绑定到此图层的弹出窗口当前已打开,则返回 true

setPopupContent(<字符串|HTMLElement|弹出窗口> content) this

设置绑定到此图层的弹出窗口的内容。

getPopup() 弹出框

返回绑定到此图层的弹出窗口。

方法 返回值 描述
bindTooltip(<字符串|HTMLElement|函数|工具提示> content, <Tooltip 选项> options?) this

使用传递的 content 将工具提示绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindTooltip() this

移除先前使用 bindTooltip 绑定的工具提示。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 或默认的工具提示锚点处打开绑定的工具提示(如果未传递 latlng)。

closeTooltip() this

关闭绑定到此图层的工具提示(如果已打开)。

toggleTooltip() this

根据其当前状态打开或关闭绑定到此图层的工具提示。

isTooltipOpen() 布尔值

如果绑定到此图层的工具提示当前已打开,则返回 true

setTooltipContent(<字符串|HTMLElement|工具提示> content) this

设置绑定到此图层的工具提示的内容。

getTooltip() 工具提示

返回绑定到此图层的工具提示。

方法 返回值 描述
on(<String> type, <Function> fn, <Object> context?) this

将监听函数 (fn) 添加到对象的特定事件类型。您可以选择指定监听器的上下文(this 关键字指向的对象)。您也可以传递多个用空格分隔的类型(例如 'click dblclick')。

on(<Object> eventMap) this

添加一组类型/监听器对,例如 {click: onClick, mousemove: onMouseMove}

off(<String> type, <Function> fn?, <Object> context?) this

删除先前添加的监听函数。如果没有指定函数,它将从对象中删除该特定事件的所有监听器。请注意,如果您为 on 传递了自定义上下文,则必须将相同的上下文传递给 off 才能删除监听器。

off(<Object> eventMap) this

删除一组类型/监听器对。

off() this

删除对象上所有事件的所有监听器。这包括隐式附加的事件。

fire(<String> type, <Object> data?, <Boolean> propagate?) this

触发指定类型的事件。您可以选择提供一个数据对象 - 监听函数的第一个参数将包含其属性。事件可以可选地传播到事件父级。

listens(<String> type, <Boolean> propagate?) 布尔值

如果特定事件类型有任何监听器附加到它,则返回 true。验证可以选择传播,如果父级有监听器附加到它,它将返回 true

once() this

on(…) 相同,但监听器只会被触发一次,然后被移除。

addEventParent(<Evented> obj) this

添加一个事件父级 - 一个 Evented,它将接收传播的事件

removeEventParent(<Evented> obj) this

删除一个事件父级,这样它将停止接收传播的事件

addEventListener() this

on(…) 的别名

removeEventListener() this

off(…) 的别名

clearAllEventListeners() this

off() 的别名

addOneTimeEventListener() this

once(…) 的别名

fireEvent() this

fire(…) 的别名

hasEventListeners() 布尔值

listens(…) 的别名

函数

有几个静态函数,可以在不实例化 L.SVG 的情况下调用。
函数 返回值 描述
create(<String> name) SVGElement 返回 SVGElement 的实例,对应于传递的类名。例如,使用 'line' 将返回 SVGLineElement 的实例。
pointsToPath(<Point[]> rings, <Boolean> closed) String 为多个环生成 SVG 路径字符串,每个环都变成 "M..L..L.." 指令

画布

允许使用 <canvas> 显示向量图层。继承了 Renderer

由于 技术限制,并非所有 Web 浏览器都支持 Canvas,尤其是 IE8,并且在某些边缘情况下,重叠的几何体可能无法正确显示。

使用示例

默认情况下,对地图中的所有路径使用 Canvas

var map = L.map('map', {
	renderer: L.canvas()
});

对特定向量几何体使用带额外填充的 Canvas 渲染器

var map = L.map('map');
var myRenderer = L.canvas({ padding: 0.5 });
var line = L.polyline( coordinates, { renderer: myRenderer } );
var circle = L.circle( center, { renderer: myRenderer } );

创建

工厂 描述
L.canvas(<渲染器选项> options?) 使用给定的选项创建一个 Canvas 渲染器。

选项

选项 类型 默认值 描述
tolerance 数字 0 在 地图上的路径/对象周围扩展点击容差的程度。
选项 类型 默认值 描述
padding 数字 0.1 地图视图周围的剪切区域要扩展多少(相对于其大小),例如 0.1 表示每个方向扩展地图视图的 10%
选项 类型 默认值 描述
pane String 'overlayPane' 默认情况下,图层将被添加到地图的 叠加面板。覆盖此选项将导致图层默认情况下放置在另一个面板上。
attribution String null 要显示在归属控件中的字符串,例如 "© OpenStreetMap 贡献者"。它描述了图层数据,通常是针对版权持有者和瓦片提供者的法律义务。

事件

事件 数据 描述
返回覆盖层的 HTML 容器。 事件 当渲染器更新其范围、中心点和缩放级别时触发,例如当其地图移动时。
事件 数据 描述
添加 事件 图层添加到地图后触发
remove 事件 图层从地图中移除后触发
事件 数据 描述
popupopen PopupEvent 绑定到此图层的弹出窗口打开时触发
popupclose PopupEvent 绑定到此图层的弹出窗口关闭时触发
事件 数据 描述
tooltipopen TooltipEvent 绑定到此图层的工具提示打开时触发。
tooltipclose TooltipEvent 绑定到此图层的工具提示关闭时触发。

方法

方法 返回值 描述
addTo(<地图|图层组> 地图) this

将图层添加到给定的地图或图层组。

remove() this

从图层当前处于活动状态的地图中移除图层。

removeFrom(<地图> 地图) this

从给定的地图中移除图层

removeFrom(<图层组> ) this

从给定的 图层组 中移除图层

getPane(<String> 名称?) HTMLElement

返回表示地图上命名窗格的 HTMLElement。如果省略 name,则返回此图层的窗格。

getAttribution() String

attribution control 使用,返回 attribution option

方法 返回值 描述
bindPopup(<字符串|HTMLElement|函数|弹出窗口> content, <Popup 选项> options?) this

使用传递的 content 将弹出窗口绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindPopup() this

移除先前使用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 或默认的弹出窗口锚点处打开绑定的弹出窗口(如果未传递 latlng)。

closePopup() this

关闭绑定到此图层的弹出窗口(如果已打开)。

togglePopup() this

根据其当前状态打开或关闭绑定到此图层的弹出窗口。

isPopupOpen() 布尔值

如果绑定到此图层的弹出窗口当前已打开,则返回 true

setPopupContent(<字符串|HTMLElement|弹出窗口> content) this

设置绑定到此图层的弹出窗口的内容。

getPopup() 弹出框

返回绑定到此图层的弹出窗口。

方法 返回值 描述
bindTooltip(<字符串|HTMLElement|函数|工具提示> content, <Tooltip 选项> options?) this

使用传递的 content 将工具提示绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindTooltip() this

移除先前使用 bindTooltip 绑定的工具提示。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 或默认的工具提示锚点处打开绑定的工具提示(如果未传递 latlng)。

closeTooltip() this

关闭绑定到此图层的工具提示(如果已打开)。

toggleTooltip() this

根据其当前状态打开或关闭绑定到此图层的工具提示。

isTooltipOpen() 布尔值

如果绑定到此图层的工具提示当前已打开,则返回 true

setTooltipContent(<字符串|HTMLElement|工具提示> content) this

设置绑定到此图层的工具提示的内容。

getTooltip() 工具提示

返回绑定到此图层的工具提示。

方法 返回值 描述
on(<String> type, <Function> fn, <Object> context?) this

将监听函数 (fn) 添加到对象的特定事件类型。您可以选择指定监听器的上下文(this 关键字指向的对象)。您也可以传递多个用空格分隔的类型(例如 'click dblclick')。

on(<Object> eventMap) this

添加一组类型/监听器对,例如 {click: onClick, mousemove: onMouseMove}

off(<String> type, <Function> fn?, <Object> context?) this

删除先前添加的监听函数。如果没有指定函数,它将从对象中删除该特定事件的所有监听器。请注意,如果您为 on 传递了自定义上下文,则必须将相同的上下文传递给 off 才能删除监听器。

off(<Object> eventMap) this

删除一组类型/监听器对。

off() this

删除对象上所有事件的所有监听器。这包括隐式附加的事件。

fire(<String> type, <Object> data?, <Boolean> propagate?) this

触发指定类型的事件。您可以选择提供一个数据对象 - 监听函数的第一个参数将包含其属性。事件可以可选地传播到事件父级。

listens(<String> type, <Boolean> propagate?) 布尔值

如果特定事件类型有任何监听器附加到它,则返回 true。验证可以选择传播,如果父级有监听器附加到它,它将返回 true

once() this

on(…) 相同,但监听器只会被触发一次,然后被移除。

addEventParent(<Evented> obj) this

添加一个事件父级 - 一个 Evented,它将接收传播的事件

removeEventParent(<Evented> obj) this

删除一个事件父级,这样它将停止接收传播的事件

addEventListener() this

on(…) 的别名

removeEventListener() this

off(…) 的别名

clearAllEventListeners() this

off() 的别名

addOneTimeEventListener() this

once(…) 的别名

fireEvent() this

fire(…) 的别名

hasEventListeners() 布尔值

listens(…) 的别名

图层组

用于将多个图层分组并作为单个图层处理。如果您将其添加到地图中,任何添加到或从组中删除的图层也将在地图上添加/删除。扩展 图层

使用示例

L.layerGroup([marker1, marker2])
	.addLayer(polyline)
	.addTo(map);

创建

工厂 描述
L.layerGroup(<图层[]> layers?, <Object> options?) 创建一个图层组,可以选择提供一组初始图层和一个选项对象。

选项

选项 类型 默认值 描述
interactive 布尔值 true 如果为 false,则该层将不会发出鼠标事件,并且将充当底层地图的一部分。
bubblingMouseEvents 布尔值 true 在初始化时设置覆盖层的 HTML 内容。如果传递的是函数,则源图层将被传递给该函数。该函数应返回一个 StringHTMLElement,用于在覆盖层中使用。
选项 类型 默认值 描述
pane String 'overlayPane' 默认情况下,图层将被添加到地图的 叠加面板。覆盖此选项将导致图层默认情况下放置在另一个面板上。
attribution String null 要显示在归属控件中的字符串,例如 "© OpenStreetMap 贡献者"。它描述了图层数据,通常是针对版权持有者和瓦片提供者的法律义务。

事件

事件 数据 描述
click MouseEvent 用户点击(或轻触)图层时触发。
dblclick MouseEvent 用户双击(或双击)图层时触发。
mousedown MouseEvent 用户在图层上按下鼠标按钮时触发。
mouseup MouseEvent 用户释放按下在图层上的鼠标按钮时触发。
mouseover MouseEvent 鼠标进入图层时触发。
mouseout MouseEvent 鼠标离开图层时触发。
contextmenu MouseEvent 用户右键单击图层时触发,如果此事件有监听器,则阻止默认浏览器上下文菜单显示。在移动设备上,当用户将手指按在屏幕上保持一秒钟(也称为长按)时也会触发。
事件 数据 描述
添加 事件 图层添加到地图后触发
remove 事件 图层从地图中移除后触发
事件 数据 描述
popupopen PopupEvent 绑定到此图层的弹出窗口打开时触发
popupclose PopupEvent 绑定到此图层的弹出窗口关闭时触发
事件 数据 描述
tooltipopen TooltipEvent 绑定到此图层的工具提示打开时触发。
tooltipclose TooltipEvent 绑定到此图层的工具提示关闭时触发。

方法

方法 返回值 描述
toGeoJSON(<数字|false> 精度?) Object

坐标值使用给定的精度formatNum 函数进行舍入。返回图层组的 GeoJSON 表示(作为 GeoJSON FeatureCollectionGeometryCollectionMultiPoint)。

addLayer(<Layer> layer) this

将给定的图层添加到组中。

removeLayer(<Layer> layer) this

从组中删除给定的图层。

removeLayer(<Number> id) this

从组中删除具有给定内部 ID 的图层。

hasLayer(<Layer> layer) 布尔值

如果给定的图层当前已添加到组中,则返回true

hasLayer(<Number> id) 布尔值

如果给定的内部 ID 当前已添加到组中,则返回true

clearLayers() this

从组中删除所有图层。

invoke(<String> methodName, ) this

对该组中包含的每个图层调用methodName,传递任何其他参数。如果包含的图层未实现methodName,则不会产生任何效果。

eachLayer(<Function> fn, <Object> context?) this

遍历组的图层,可以选择指定迭代器函数的上下文。

group.eachLayer(function (layer) {
	layer.bindPopup('Hello');
});
getLayer(<Number> id) 图层

返回具有给定内部 ID 的图层。

getLayers() Layer[]

返回添加到组的所有图层的数组。

setZIndex(<Number> zIndex) this

对该组中包含的每个图层调用setZIndex,传递 z 索引。

getLayerId(<Layer> layer) 数字

返回图层的内部 ID

方法 返回值 描述
addTo(<地图|图层组> 地图) this

将图层添加到给定的地图或图层组。

remove() this

从图层当前处于活动状态的地图中移除图层。

removeFrom(<地图> 地图) this

从给定的地图中移除图层

removeFrom(<图层组> ) this

从给定的 图层组 中移除图层

getPane(<String> 名称?) HTMLElement

返回表示地图上命名窗格的 HTMLElement。如果省略 name,则返回此图层的窗格。

getAttribution() String

attribution control 使用,返回 attribution option

方法 返回值 描述
bindPopup(<字符串|HTMLElement|函数|弹出窗口> content, <Popup 选项> options?) this

使用传递的 content 将弹出窗口绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindPopup() this

移除先前使用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 或默认的弹出窗口锚点处打开绑定的弹出窗口(如果未传递 latlng)。

closePopup() this

关闭绑定到此图层的弹出窗口(如果已打开)。

togglePopup() this

根据其当前状态打开或关闭绑定到此图层的弹出窗口。

isPopupOpen() 布尔值

如果绑定到此图层的弹出窗口当前已打开,则返回 true

setPopupContent(<字符串|HTMLElement|弹出窗口> content) this

设置绑定到此图层的弹出窗口的内容。

getPopup() 弹出框

返回绑定到此图层的弹出窗口。

方法 返回值 描述
bindTooltip(<字符串|HTMLElement|函数|工具提示> content, <Tooltip 选项> options?) this

使用传递的 content 将工具提示绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindTooltip() this

移除先前使用 bindTooltip 绑定的工具提示。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 或默认的工具提示锚点处打开绑定的工具提示(如果未传递 latlng)。

closeTooltip() this

关闭绑定到此图层的工具提示(如果已打开)。

toggleTooltip() this

根据其当前状态打开或关闭绑定到此图层的工具提示。

isTooltipOpen() 布尔值

如果绑定到此图层的工具提示当前已打开,则返回 true

setTooltipContent(<字符串|HTMLElement|工具提示> content) this

设置绑定到此图层的工具提示的内容。

getTooltip() 工具提示

返回绑定到此图层的工具提示。

方法 返回值 描述
on(<String> type, <Function> fn, <Object> context?) this

将监听函数 (fn) 添加到对象的特定事件类型。您可以选择指定监听器的上下文(this 关键字指向的对象)。您也可以传递多个用空格分隔的类型(例如 'click dblclick')。

on(<Object> eventMap) this

添加一组类型/监听器对,例如 {click: onClick, mousemove: onMouseMove}

off(<String> type, <Function> fn?, <Object> context?) this

删除先前添加的监听函数。如果没有指定函数,它将从对象中删除该特定事件的所有监听器。请注意,如果您为 on 传递了自定义上下文,则必须将相同的上下文传递给 off 才能删除监听器。

off(<Object> eventMap) this

删除一组类型/监听器对。

off() this

删除对象上所有事件的所有监听器。这包括隐式附加的事件。

fire(<String> type, <Object> data?, <Boolean> propagate?) this

触发指定类型的事件。您可以选择提供一个数据对象 - 监听函数的第一个参数将包含其属性。事件可以可选地传播到事件父级。

listens(<String> type, <Boolean> propagate?) 布尔值

如果特定事件类型有任何监听器附加到它,则返回 true。验证可以选择传播,如果父级有监听器附加到它,它将返回 true

once() this

on(…) 相同,但监听器只会被触发一次,然后被移除。

addEventParent(<Evented> obj) this

添加一个事件父级 - 一个 Evented,它将接收传播的事件

removeEventParent(<Evented> obj) this

删除一个事件父级,这样它将停止接收传播的事件

addEventListener() this

on(…) 的别名

removeEventListener() this

off(…) 的别名

clearAllEventListeners() this

off() 的别名

addOneTimeEventListener() this

once(…) 的别名

fireEvent() this

fire(…) 的别名

hasEventListeners() 布尔值

listens(…) 的别名

要素组

扩展的 图层组,可以更轻松地对所有成员图层执行相同的操作

使用示例

L.featureGroup([marker1, marker2, polyline])
	.bindPopup('Hello world!')
	.on('click', function() { alert('Clicked on a member of the group!'); })
	.addTo(map);

创建

工厂 描述
L.featureGroup(<图层[]> layers?, <Object> options?) 创建一个要素组,可以选择提供一组初始图层和一个选项对象。

选项

选项 类型 默认值 描述
interactive 布尔值 true 如果为 false,则该层将不会发出鼠标事件,并且将充当底层地图的一部分。
bubblingMouseEvents 布尔值 true 在初始化时设置覆盖层的 HTML 内容。如果传递的是函数,则源图层将被传递给该函数。该函数应返回一个 StringHTMLElement,用于在覆盖层中使用。
选项 类型 默认值 描述
pane String 'overlayPane' 默认情况下,图层将被添加到地图的 叠加面板。覆盖此选项将导致图层默认情况下放置在另一个面板上。
attribution String null 要显示在归属控件中的字符串,例如 "© OpenStreetMap 贡献者"。它描述了图层数据,通常是针对版权持有者和瓦片提供者的法律义务。

事件

事件 数据 描述
layeradd LayerEvent 当图层添加到此 要素组 时触发。
layerremove LayerEvent 当图层从此 要素组 中删除时触发。
事件 数据 描述
click MouseEvent 用户点击(或轻触)图层时触发。
dblclick MouseEvent 用户双击(或双击)图层时触发。
mousedown MouseEvent 用户在图层上按下鼠标按钮时触发。
mouseup MouseEvent 用户释放按下在图层上的鼠标按钮时触发。
mouseover MouseEvent 鼠标进入图层时触发。
mouseout MouseEvent 鼠标离开图层时触发。
contextmenu MouseEvent 用户右键单击图层时触发,如果此事件有监听器,则阻止默认浏览器上下文菜单显示。在移动设备上,当用户将手指按在屏幕上保持一秒钟(也称为长按)时也会触发。
事件 数据 描述
添加 事件 图层添加到地图后触发
remove 事件 图层从地图中移除后触发
事件 数据 描述
popupopen PopupEvent 绑定到此图层的弹出窗口打开时触发
popupclose PopupEvent 绑定到此图层的弹出窗口关闭时触发
事件 数据 描述
tooltipopen TooltipEvent 绑定到此图层的工具提示打开时触发。
tooltipclose TooltipEvent 绑定到此图层的工具提示关闭时触发。

方法

方法 返回值 描述
setStyle(<路径选项> style) this

将给定的路径选项设置为组中具有setStyle 方法的每个图层。

当覆盖层在地图上可见时返回 true() this

将要素组置于所有其他图层的顶部。

将此覆盖层置于其他覆盖层(在同一地图窗格中)的前面。() this

将要素组置于所有其他图层的底部。

getBounds() LatLngBounds

返回要素组的 LatLngBounds(从其子级的边界和坐标创建)。

方法 返回值 描述
toGeoJSON(<数字|false> 精度?) Object

坐标值使用给定的精度formatNum 函数进行舍入。返回图层组的 GeoJSON 表示(作为 GeoJSON FeatureCollectionGeometryCollectionMultiPoint)。

addLayer(<Layer> layer) this

将给定的图层添加到组中。

removeLayer(<Layer> layer) this

从组中删除给定的图层。

removeLayer(<Number> id) this

从组中删除具有给定内部 ID 的图层。

hasLayer(<Layer> layer) 布尔值

如果给定的图层当前已添加到组中,则返回true

hasLayer(<Number> id) 布尔值

如果给定的内部 ID 当前已添加到组中,则返回true

clearLayers() this

从组中删除所有图层。

invoke(<String> methodName, ) this

对该组中包含的每个图层调用methodName,传递任何其他参数。如果包含的图层未实现methodName,则不会产生任何效果。

eachLayer(<Function> fn, <Object> context?) this

遍历组的图层,可以选择指定迭代器函数的上下文。

group.eachLayer(function (layer) {
	layer.bindPopup('Hello');
});
getLayer(<Number> id) 图层

返回具有给定内部 ID 的图层。

getLayers() Layer[]

返回添加到组的所有图层的数组。

setZIndex(<Number> zIndex) this

对该组中包含的每个图层调用setZIndex,传递 z 索引。

getLayerId(<Layer> layer) 数字

返回图层的内部 ID

方法 返回值 描述
addTo(<地图|图层组> 地图) this

将图层添加到给定的地图或图层组。

remove() this

从图层当前处于活动状态的地图中移除图层。

removeFrom(<地图> 地图) this

从给定的地图中移除图层

removeFrom(<图层组> ) this

从给定的 图层组 中移除图层

getPane(<String> 名称?) HTMLElement

返回表示地图上命名窗格的 HTMLElement。如果省略 name,则返回此图层的窗格。

getAttribution() String

attribution control 使用,返回 attribution option

方法 返回值 描述
bindPopup(<字符串|HTMLElement|函数|弹出窗口> content, <Popup 选项> options?) this

使用传递的 content 将弹出窗口绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindPopup() this

移除先前使用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 或默认的弹出窗口锚点处打开绑定的弹出窗口(如果未传递 latlng)。

closePopup() this

关闭绑定到此图层的弹出窗口(如果已打开)。

togglePopup() this

根据其当前状态打开或关闭绑定到此图层的弹出窗口。

isPopupOpen() 布尔值

如果绑定到此图层的弹出窗口当前已打开,则返回 true

setPopupContent(<字符串|HTMLElement|弹出窗口> content) this

设置绑定到此图层的弹出窗口的内容。

getPopup() 弹出框

返回绑定到此图层的弹出窗口。

方法 返回值 描述
bindTooltip(<字符串|HTMLElement|函数|工具提示> content, <Tooltip 选项> options?) this

使用传递的 content 将工具提示绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindTooltip() this

移除先前使用 bindTooltip 绑定的工具提示。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 或默认的工具提示锚点处打开绑定的工具提示(如果未传递 latlng)。

closeTooltip() this

关闭绑定到此图层的工具提示(如果已打开)。

toggleTooltip() this

根据其当前状态打开或关闭绑定到此图层的工具提示。

isTooltipOpen() 布尔值

如果绑定到此图层的工具提示当前已打开,则返回 true

setTooltipContent(<字符串|HTMLElement|工具提示> content) this

设置绑定到此图层的工具提示的内容。

getTooltip() 工具提示

返回绑定到此图层的工具提示。

方法 返回值 描述
on(<String> type, <Function> fn, <Object> context?) this

将监听函数 (fn) 添加到对象的特定事件类型。您可以选择指定监听器的上下文(this 关键字指向的对象)。您也可以传递多个用空格分隔的类型(例如 'click dblclick')。

on(<Object> eventMap) this

添加一组类型/监听器对,例如 {click: onClick, mousemove: onMouseMove}

off(<String> type, <Function> fn?, <Object> context?) this

删除先前添加的监听函数。如果没有指定函数,它将从对象中删除该特定事件的所有监听器。请注意,如果您为 on 传递了自定义上下文,则必须将相同的上下文传递给 off 才能删除监听器。

off(<Object> eventMap) this

删除一组类型/监听器对。

off() this

删除对象上所有事件的所有监听器。这包括隐式附加的事件。

fire(<String> type, <Object> data?, <Boolean> propagate?) this

触发指定类型的事件。您可以选择提供一个数据对象 - 监听函数的第一个参数将包含其属性。事件可以可选地传播到事件父级。

listens(<String> type, <Boolean> propagate?) 布尔值

如果特定事件类型有任何监听器附加到它,则返回 true。验证可以选择传播,如果父级有监听器附加到它,它将返回 true

once() this

on(…) 相同,但监听器只会被触发一次,然后被移除。

addEventParent(<Evented> obj) this

添加一个事件父级 - 一个 Evented,它将接收传播的事件

removeEventParent(<Evented> obj) this

删除一个事件父级,这样它将停止接收传播的事件

addEventListener() this

on(…) 的别名

removeEventListener() this

off(…) 的别名

clearAllEventListeners() this

off() 的别名

addOneTimeEventListener() this

once(…) 的别名

fireEvent() this

fire(…) 的别名

hasEventListeners() 布尔值

listens(…) 的别名

GeoJSON

表示一个 GeoJSON 对象或一个 GeoJSON 对象数组。允许您解析 GeoJSON 数据并在地图上显示它。扩展 要素组

使用示例

L.geoJSON(data, {
	style: function (feature) {
		return {color: feature.properties.color};
	}
}).bindPopup(function (layer) {
	return layer.feature.properties.description;
}).addTo(map);

创建

工厂 描述
L.geoJSON(<Object> geojson?, <GeoJSON 选项> options?) 创建一个 GeoJSON 图层。可以选择接受一个 GeoJSON 格式 的对象在地图上显示(您也可以稍后使用addData 方法添加它)以及一个选项对象。

选项

选项 类型 默认值 描述
pointToLayer 函数 * 一个函数,定义 GeoJSON 点如何生成 Leaflet 图层。它在添加数据时被内部调用,传递 GeoJSON 点要素及其 LatLng。默认情况下,它将生成一个默认的 标记
function(geoJsonPoint, latlng) {
	return L.marker(latlng);
}
style 函数 * 一个函数,定义用于对 GeoJSON 线和多边形进行样式化的 路径选项,在内部添加数据时调用。默认值为不覆盖任何默认值
function (geoJsonFeature) {
	return {}
}
onEachFeature 函数 * 一个函数,将在每个创建的要素中调用一次,在它被创建和设置样式之后。对于将事件和弹出窗口附加到要素很有用。默认情况下,对新创建的图层不做任何操作
function (feature, layer) {}
filter 函数 * 一个函数,将用于决定是否包含要素。默认值为包含所有要素
function (geoJsonFeature) {
	return true;
}

注意:动态更改filter 选项只会对新添加的数据有效。它不会重新评估已包含的要素。

coordsToLatLng 函数 * 一个函数,将用于将 GeoJSON 坐标转换为 LatLng。默认值为coordsToLatLng 静态方法。
markersInheritOptions 布尔值 false "点"类型要素的默认标记是否继承组选项。
选项 类型 默认值 描述
interactive 布尔值 true 如果为 false,则该层将不会发出鼠标事件,并且将充当底层地图的一部分。
bubblingMouseEvents 布尔值 true 在初始化时设置覆盖层的 HTML 内容。如果传递的是函数,则源图层将被传递给该函数。该函数应返回一个 StringHTMLElement,用于在覆盖层中使用。
选项 类型 默认值 描述
pane String 'overlayPane' 默认情况下,图层将被添加到地图的 叠加面板。覆盖此选项将导致图层默认情况下放置在另一个面板上。
attribution String null 要显示在归属控件中的字符串,例如 "© OpenStreetMap 贡献者"。它描述了图层数据,通常是针对版权持有者和瓦片提供者的法律义务。

事件

事件 数据 描述
layeradd LayerEvent 当图层添加到此 要素组 时触发。
layerremove LayerEvent 当图层从此 要素组 中删除时触发。
事件 数据 描述
click MouseEvent 用户点击(或轻触)图层时触发。
dblclick MouseEvent 用户双击(或双击)图层时触发。
mousedown MouseEvent 用户在图层上按下鼠标按钮时触发。
mouseup MouseEvent 用户释放按下在图层上的鼠标按钮时触发。
mouseover MouseEvent 鼠标进入图层时触发。
mouseout MouseEvent 鼠标离开图层时触发。
contextmenu MouseEvent 用户右键单击图层时触发,如果此事件有监听器,则阻止默认浏览器上下文菜单显示。在移动设备上,当用户将手指按在屏幕上保持一秒钟(也称为长按)时也会触发。
事件 数据 描述
添加 事件 图层添加到地图后触发
remove 事件 图层从地图中移除后触发
事件 数据 描述
popupopen PopupEvent 绑定到此图层的弹出窗口打开时触发
popupclose PopupEvent 绑定到此图层的弹出窗口关闭时触发
事件 数据 描述
tooltipopen TooltipEvent 绑定到此图层的工具提示打开时触发。
tooltipclose TooltipEvent 绑定到此图层的工具提示关闭时触发。

方法

方法 返回值 描述
addData(data) this

将 GeoJSON 对象添加到图层。

resetStyle(layer?) this

将给定矢量图层的样式重置为原始 GeoJSON 样式,对于在悬停事件后重置样式很有用。如果省略了layer,则会重置当前图层中所有要素的样式。

setStyle(style) this

使用给定的样式函数更改 GeoJSON 矢量图层的样式。

方法 返回值 描述
当覆盖层在地图上可见时返回 true() this

将要素组置于所有其他图层的顶部。

将此覆盖层置于其他覆盖层(在同一地图窗格中)的前面。() this

将要素组置于所有其他图层的底部。

getBounds() LatLngBounds

返回要素组的 LatLngBounds(从其子级的边界和坐标创建)。

方法 返回值 描述
toGeoJSON(<数字|false> 精度?) Object

坐标值使用给定的精度formatNum 函数进行舍入。返回图层组的 GeoJSON 表示(作为 GeoJSON FeatureCollectionGeometryCollectionMultiPoint)。

addLayer(<Layer> layer) this

将给定的图层添加到组中。

removeLayer(<Layer> layer) this

从组中删除给定的图层。

removeLayer(<Number> id) this

从组中删除具有给定内部 ID 的图层。

hasLayer(<Layer> layer) 布尔值

如果给定的图层当前已添加到组中,则返回true

hasLayer(<Number> id) 布尔值

如果给定的内部 ID 当前已添加到组中,则返回true

clearLayers() this

从组中删除所有图层。

invoke(<String> methodName, ) this

对该组中包含的每个图层调用methodName,传递任何其他参数。如果包含的图层未实现methodName,则不会产生任何效果。

eachLayer(<Function> fn, <Object> context?) this

遍历组的图层,可以选择指定迭代器函数的上下文。

group.eachLayer(function (layer) {
	layer.bindPopup('Hello');
});
getLayer(<Number> id) 图层

返回具有给定内部 ID 的图层。

getLayers() Layer[]

返回添加到组的所有图层的数组。

setZIndex(<Number> zIndex) this

对该组中包含的每个图层调用setZIndex,传递 z 索引。

getLayerId(<Layer> layer) 数字

返回图层的内部 ID

方法 返回值 描述
addTo(<地图|图层组> 地图) this

将图层添加到给定的地图或图层组。

remove() this

从图层当前处于活动状态的地图中移除图层。

removeFrom(<地图> 地图) this

从给定的地图中移除图层

removeFrom(<图层组> ) this

从给定的 图层组 中移除图层

getPane(<String> 名称?) HTMLElement

返回表示地图上命名窗格的 HTMLElement。如果省略 name,则返回此图层的窗格。

getAttribution() String

attribution control 使用,返回 attribution option

方法 返回值 描述
bindPopup(<字符串|HTMLElement|函数|弹出窗口> content, <Popup 选项> options?) this

使用传递的 content 将弹出窗口绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindPopup() this

移除先前使用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 或默认的弹出窗口锚点处打开绑定的弹出窗口(如果未传递 latlng)。

closePopup() this

关闭绑定到此图层的弹出窗口(如果已打开)。

togglePopup() this

根据其当前状态打开或关闭绑定到此图层的弹出窗口。

isPopupOpen() 布尔值

如果绑定到此图层的弹出窗口当前已打开,则返回 true

setPopupContent(<字符串|HTMLElement|弹出窗口> content) this

设置绑定到此图层的弹出窗口的内容。

getPopup() 弹出框

返回绑定到此图层的弹出窗口。

方法 返回值 描述
bindTooltip(<字符串|HTMLElement|函数|工具提示> content, <Tooltip 选项> options?) this

使用传递的 content 将工具提示绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindTooltip() this

移除先前使用 bindTooltip 绑定的工具提示。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 或默认的工具提示锚点处打开绑定的工具提示(如果未传递 latlng)。

closeTooltip() this

关闭绑定到此图层的工具提示(如果已打开)。

toggleTooltip() this

根据其当前状态打开或关闭绑定到此图层的工具提示。

isTooltipOpen() 布尔值

如果绑定到此图层的工具提示当前已打开,则返回 true

setTooltipContent(<字符串|HTMLElement|工具提示> content) this

设置绑定到此图层的工具提示的内容。

getTooltip() 工具提示

返回绑定到此图层的工具提示。

方法 返回值 描述
on(<String> type, <Function> fn, <Object> context?) this

将监听函数 (fn) 添加到对象的特定事件类型。您可以选择指定监听器的上下文(this 关键字指向的对象)。您也可以传递多个用空格分隔的类型(例如 'click dblclick')。

on(<Object> eventMap) this

添加一组类型/监听器对,例如 {click: onClick, mousemove: onMouseMove}

off(<String> type, <Function> fn?, <Object> context?) this

删除先前添加的监听函数。如果没有指定函数,它将从对象中删除该特定事件的所有监听器。请注意,如果您为 on 传递了自定义上下文,则必须将相同的上下文传递给 off 才能删除监听器。

off(<Object> eventMap) this

删除一组类型/监听器对。

off() this

删除对象上所有事件的所有监听器。这包括隐式附加的事件。

fire(<String> type, <Object> data?, <Boolean> propagate?) this

触发指定类型的事件。您可以选择提供一个数据对象 - 监听函数的第一个参数将包含其属性。事件可以可选地传播到事件父级。

listens(<String> type, <Boolean> propagate?) 布尔值

如果特定事件类型有任何监听器附加到它,则返回 true。验证可以选择传播,如果父级有监听器附加到它,它将返回 true

once() this

on(…) 相同,但监听器只会被触发一次,然后被移除。

addEventParent(<Evented> obj) this

添加一个事件父级 - 一个 Evented,它将接收传播的事件

removeEventParent(<Evented> obj) this

删除一个事件父级,这样它将停止接收传播的事件

addEventListener() this

on(…) 的别名

removeEventListener() this

off(…) 的别名

clearAllEventListeners() this

off() 的别名

addOneTimeEventListener() this

once(…) 的别名

fireEvent() this

fire(…) 的别名

hasEventListeners() 布尔值

listens(…) 的别名

函数

有几个静态函数可以在不实例化 L.GeoJSON 的情况下调用
函数 返回值 描述
geometryToLayer(<Object> featureData, <GeoJSON 选项> options?) 图层 从给定的 GeoJSON 要素创建一个 图层。如果在选项中提供,可以使用自定义的 pointToLayer 和/或 coordsToLatLng 函数。
coordsToLatLng(<数组> coords) LatLng 从一个由 2 个数字(经度、纬度)或 3 个数字(经度、纬度、高度)组成的数组创建一个 LatLng 对象,GeoJSON 用它来表示点。
coordsToLatLngs(<数组> coords, <Number> levelsDeep?, <Function> coordsToLatLng?) 数组 从 GeoJSON 坐标数组创建一个 LatLng 的多维数组。levelsDeep 指定嵌套级别(0 表示点数组,1 表示点数组数组,等等,默认值为 0)。可以使用自定义的 coordsToLatLng 函数。
latLngToCoords(<LatLng> latlng, <数字|false> 精度?) 数组 反转 coordsToLatLng 坐标值使用 formatNum 函数进行舍入。
latLngsToCoords(<数组> latlngs, <Number> levelsDeep?, <Boolean> closed?, <数字|false> 精度?) 数组 反转 coordsToLatLngs closed 决定是否将第一个点追加到数组末尾以闭合要素,仅在levelsDeep 为 0 时使用。默认值为 false。坐标值使用 formatNum 函数进行舍入。
asFeature(<Object> geojson) Object 将 GeoJSON 几何/要素规范化为 GeoJSON 要素。

GridLayer

用于处理 HTML 元素的平铺网格的通用类。这是所有平铺图层的基类,它取代了TileLayer.Canvas。GridLayer 可以扩展以创建一个 HTML 元素的平铺网格,如<canvas><img><div>。GridLayer 将负责为您创建和动画化这些 DOM 元素。

使用示例

同步使用

要创建一个自定义图层,请扩展 GridLayer 并实现createTile() 方法,该方法将传递一个带有xyz(缩放级别)坐标的 对象,以绘制您的图块。

var CanvasLayer = L.GridLayer.extend({
    createTile: function(coords){
        // create a <canvas> element for drawing
        var tile = L.DomUtil.create('canvas', 'leaflet-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 = L.GridLayer.extend({
    createTile: function(coords, done){
        var error;

        // create a <canvas> element for drawing
        var tile = L.DomUtil.create('canvas', 'leaflet-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;
    }
});

创建

工厂 描述
L.gridLayer(<GridLayer 选项> options?) 使用提供的选项创建一个新的 GridLayer 实例。

选项

选项 类型 默认值 描述
tileSize Number|Point 256 网格中瓦片的宽度和高度。如果宽度和高度相等,则使用数字,否则使用 `L.point(width, height)`。
opacity 数字 1.0 瓦片的不透明度。可以在 `createTile()` 函数中使用。
updateWhenIdle 布尔值 (依赖) 仅在平移结束时加载新瓦片。在移动浏览器上默认情况下为 `true`,以避免过多请求并保持平滑导航。否则为 `false`,以便在平移期间显示新瓦片,因为在桌面浏览器中很容易平移到 keepBuffer 选项之外。
updateWhenZooming 布尔值 true 默认情况下,平滑缩放动画(在 触控缩放flyTo() 期间)将在每个整数缩放级别更新网格图层。将此选项设置为 `false` 将仅在平滑动画结束时更新网格图层。
updateInterval 数字 200 平移时,瓦片不会比每 `updateInterval` 毫秒更新一次。
zIndex 数字 1 瓦片图层的显式 zIndex。
bounds LatLngBounds undefined 如果设置,瓦片将仅在设置的 LatLngBounds 内加载。
minZoom 数字 0 此图层将显示的最低缩放级别(含)。
maxZoom 数字 undefined 此图层将显示的最高缩放级别(含)。
maxNativeZoom 数字 undefined 瓦片源可用的最大缩放编号。如果指定了它,则所有高于 `maxNativeZoom` 的缩放级别的瓦片将从 `maxNativeZoom` 级别加载并自动缩放。
minNativeZoom 数字 undefined 瓦片源可用的最小缩放编号。如果指定了它,则所有低于 `minNativeZoom` 的缩放级别的瓦片将从 `minNativeZoom` 级别加载并自动缩放。
noWrap 布尔值 false 图层是否围绕反子午线包裹。如果为 `true`,则 GridLayer 仅在低缩放级别显示一次。当 地图 CRS 不围绕时没有效果。可以与 bounds 结合使用,以防止请求 CRS 限制之外的瓦片。
pane String 'tilePane' 地图面板,网格图层将被添加到其中。
覆盖层位置的偏移量。 String '' 要分配给瓦片图层的自定义类名。默认情况下为空。
keepBuffer 数字 2 平移地图时,在卸载瓦片之前保留这么多行和列的瓦片。
选项 类型 默认值 描述
attribution String null 要显示在归属控件中的字符串,例如 "© OpenStreetMap 贡献者"。它描述了图层数据,通常是针对版权持有者和瓦片提供者的法律义务。

事件

事件 数据 描述
loading 事件 当网格图层开始加载瓦片时触发。
tileunload TileEvent 当瓦片被移除时触发(例如,当瓦片超出屏幕范围时)。
tileloadstart TileEvent 当请求瓦片并开始加载时触发。
tileerror TileErrorEvent 当加载瓦片时出错时触发。
tileload TileEvent 当瓦片加载时触发。
load 事件 当网格图层加载所有可见瓦片时触发。
事件 数据 描述
添加 事件 图层添加到地图后触发
remove 事件 图层从地图中移除后触发
事件 数据 描述
popupopen PopupEvent 绑定到此图层的弹出窗口打开时触发
popupclose PopupEvent 绑定到此图层的弹出窗口关闭时触发
事件 数据 描述
tooltipopen TooltipEvent 绑定到此图层的工具提示打开时触发。
tooltipclose TooltipEvent 绑定到此图层的工具提示关闭时触发。

方法

方法 返回值 描述
当覆盖层在地图上可见时返回 true() this

将瓦片图层置于所有瓦片图层的最上面。

将此覆盖层置于其他覆盖层(在同一地图窗格中)的前面。() this

将瓦片图层置于所有瓦片图层的底部。

getContainer() HTMLElement

返回包含此图层瓦片的 HTML 元素。

setOpacity(<Number> opacity) this

更改网格图层的 不透明度

setZIndex(<Number> zIndex) this

更改网格图层的 zIndex

isLoading() 布尔值

如果网格图层中的任何瓦片尚未完成加载,则返回 `true`。

redraw() this

导致图层清除所有瓦片并再次请求它们。

getTileSize()

tileSize 选项 规范化为一个点。由 `createTile()` 方法使用。

扩展方法

扩展 GridLayer 的图层应重新实现以下方法。
方法 返回值 描述
createTile(<Object> coords, <Function> done?) HTMLElement

仅在内部调用,必须由扩展 GridLayer 的类覆盖。返回与给定coords 相对应的HTMLElement。如果指定了done 回调,则必须在图块完成加载和绘制时调用它。

方法 返回值 描述
addTo(<地图|图层组> 地图) this

将图层添加到给定的地图或图层组。

remove() this

从图层当前处于活动状态的地图中移除图层。

removeFrom(<地图> 地图) this

从给定的地图中移除图层

removeFrom(<图层组> ) this

从给定的 图层组 中移除图层

getPane(<String> 名称?) HTMLElement

返回表示地图上命名窗格的 HTMLElement。如果省略 name,则返回此图层的窗格。

getAttribution() String

attribution control 使用,返回 attribution option

方法 返回值 描述
bindPopup(<字符串|HTMLElement|函数|弹出窗口> content, <Popup 选项> options?) this

使用传递的 content 将弹出窗口绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindPopup() this

移除先前使用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 或默认的弹出窗口锚点处打开绑定的弹出窗口(如果未传递 latlng)。

closePopup() this

关闭绑定到此图层的弹出窗口(如果已打开)。

togglePopup() this

根据其当前状态打开或关闭绑定到此图层的弹出窗口。

isPopupOpen() 布尔值

如果绑定到此图层的弹出窗口当前已打开,则返回 true

setPopupContent(<字符串|HTMLElement|弹出窗口> content) this

设置绑定到此图层的弹出窗口的内容。

getPopup() 弹出框

返回绑定到此图层的弹出窗口。

方法 返回值 描述
bindTooltip(<字符串|HTMLElement|函数|工具提示> content, <Tooltip 选项> options?) this

使用传递的 content 将工具提示绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindTooltip() this

移除先前使用 bindTooltip 绑定的工具提示。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 或默认的工具提示锚点处打开绑定的工具提示(如果未传递 latlng)。

closeTooltip() this

关闭绑定到此图层的工具提示(如果已打开)。

toggleTooltip() this

根据其当前状态打开或关闭绑定到此图层的工具提示。

isTooltipOpen() 布尔值

如果绑定到此图层的工具提示当前已打开,则返回 true

setTooltipContent(<字符串|HTMLElement|工具提示> content) this

设置绑定到此图层的工具提示的内容。

getTooltip() 工具提示

返回绑定到此图层的工具提示。

方法 返回值 描述
on(<String> type, <Function> fn, <Object> context?) this

将监听函数 (fn) 添加到对象的特定事件类型。您可以选择指定监听器的上下文(this 关键字指向的对象)。您也可以传递多个用空格分隔的类型(例如 'click dblclick')。

on(<Object> eventMap) this

添加一组类型/监听器对,例如 {click: onClick, mousemove: onMouseMove}

off(<String> type, <Function> fn?, <Object> context?) this

删除先前添加的监听函数。如果没有指定函数,它将从对象中删除该特定事件的所有监听器。请注意,如果您为 on 传递了自定义上下文,则必须将相同的上下文传递给 off 才能删除监听器。

off(<Object> eventMap) this

删除一组类型/监听器对。

off() this

删除对象上所有事件的所有监听器。这包括隐式附加的事件。

fire(<String> type, <Object> data?, <Boolean> propagate?) this

触发指定类型的事件。您可以选择提供一个数据对象 - 监听函数的第一个参数将包含其属性。事件可以可选地传播到事件父级。

listens(<String> type, <Boolean> propagate?) 布尔值

如果特定事件类型有任何监听器附加到它,则返回 true。验证可以选择传播,如果父级有监听器附加到它,它将返回 true

once() this

on(…) 相同,但监听器只会被触发一次,然后被移除。

addEventParent(<Evented> obj) this

添加一个事件父级 - 一个 Evented,它将接收传播的事件

removeEventParent(<Evented> obj) this

删除一个事件父级,这样它将停止接收传播的事件

addEventListener() this

on(…) 的别名

removeEventListener() this

off(…) 的别名

clearAllEventListeners() this

off() 的别名

addOneTimeEventListener() this

once(…) 的别名

fireEvent() this

fire(…) 的别名

hasEventListeners() 布尔值

listens(…) 的别名

LatLng

表示具有特定纬度和经度的地理点。

使用示例

var latlng = L.latLng(50.5, 30.5);

所有接受 LatLng 对象的 Leaflet 方法也接受它们以简单数组形式和简单对象形式(除非另有说明),因此以下行等效

map.panTo([50, 30]);
map.panTo({lng: 30, lat: 50});
map.panTo({lat: 50, lng: 30});
map.panTo(L.latLng(50, 30));

请注意,LatLng 不会从 Leaflet 的 对象继承,这意味着新类无法从它继承,并且无法使用include 函数向它添加新方法。

创建

工厂 描述
L.latLng(<Number> latitude, <Number> longitude, <Number> altitude?) 创建一个表示具有给定纬度和经度(以及可选高度)的地理点的对象。
L.latLng(<数组> coords) 预期使用形式为[Number, Number][Number, Number, Number] 的数组。
L.latLng(<Object> coords) 预期使用形式为{lat: Number, lng: Number}{lat: Number, lng: Number, alt: Number} 的普通对象。

方法

方法 返回值 描述
equals(<LatLng> otherLatLng, <Number> maxMargin?) 布尔值

如果给定的 LatLng 点位于相同位置(在很小的误差范围内),则返回true。可以通过将maxMargin 设置为一个小数字来覆盖误差范围。

toString() String

返回点的字符串表示(用于调试目的)。

distanceTo(<LatLng> otherLatLng) 数字

返回到给定 LatLng 的距离(以米为单位),使用 球面余弦定律 计算。

wrap() LatLng

返回一个新的 LatLng 对象,其经度经过包装,始终在 -180 和 +180 度之间。

toBounds(<Number> sizeInMeters) LatLngBounds

返回一个新的 LatLngBounds 对象,其中每个边界与 LatLng 相距sizeInMeters/2 米。

属性

属性 类型 描述
lat 数字 纬度(以度为单位)
lng 数字 经度(以度为单位)
alt 数字 海拔(以米为单位,可选)

LatLngBounds

表示地图上的矩形地理区域。

使用示例

var corner1 = L.latLng(40.712, -74.227),
corner2 = L.latLng(40.774, -74.125),
bounds = L.latLngBounds(corner1, corner2);

所有接受 LatLngBounds 对象的 Leaflet 方法也接受它们以简单数组形式(除非另有说明),因此上面边界示例可以这样传递

map.fitBounds([
	[40.712, -74.227],
	[40.774, -74.125]
]);

注意:如果该区域跨越反子午线(常与国际日期变更线混淆),则必须指定超出 [-180, 180] 度经度范围的角点。

请注意,LatLngBounds 不会从 Leaflet 的 对象继承,这意味着新类无法从它继承,并且无法使用include 函数向它添加新方法。

创建

工厂 描述
L.latLngBounds(<LatLng> corner1, <LatLng> corner2) 通过定义矩形两个对角线相对角点来创建一个 LatLngBounds 对象。
L.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() 数字

返回边界的西经度

getSouth() 数字

返回边界的南纬度。

getEast() 数字

返回边界的东经度。

getNorth() 数字

返回边界的北纬度。

contains(<LatLngBounds> otherBounds) 布尔值

如果矩形包含给定的矩形,则返回 true

contains(<LatLng> latlng) 布尔值

如果矩形包含给定的点,则返回 true

intersects(<LatLngBounds> otherBounds) 布尔值

如果矩形与给定的边界相交,则返回 true。如果两个边界至少有一个点在共同,则它们相交。

overlaps(<LatLngBounds> otherBounds) 布尔值

如果矩形与给定的边界重叠,则返回 true。如果两个边界的交集是一个区域,则它们重叠。

toBBoxString() String

返回一个字符串,其中包含以 'southwest_lng,southwest_lat,northeast_lng,northeast_lat' 格式的边界框坐标。对于向返回地理数据的 Web 服务发送请求很有用。

equals(<LatLngBounds> otherBounds, <Number> maxMargin?) 布尔值

如果矩形等效于(在很小的误差范围内)给定的边界,则返回 true。可以通过将 maxMargin 设置为一个较小的数字来覆盖误差范围。

isValid() 布尔值

如果边界已正确初始化,则返回 true

表示一个点,该点在像素坐标中具有 xy 坐标。

使用示例

var point = L.point(200, 300);

所有接受 Point 对象的 Leaflet 方法和选项也接受它们以简单的数组形式(除非另有说明),因此以下行等效

map.panBy([200, 300]);
map.panBy(L.point(200, 300));

请注意,Point 不会继承自 Leaflet 的 Class 对象,这意味着新类不能继承自它,并且不能使用 include 函数向它添加新方法。

创建

工厂 描述
L.point(<Number> x, <Number> y, <Boolean> round?) 使用给定的 xy 坐标创建一个 Point 对象。如果可选的 round 设置为 true,则对 xy 值进行四舍五入。
L.point(<Number[]> coords) 期望一个形式为 [x, y] 的数组。
L.point(<Object> coords) 期望一个形式为 {x: Number, y: Number} 的普通对象。

方法

方法 返回值 描述
clone()

返回当前点的副本。

添加(<Point> otherPoint)

返回当前点和给定点的加法结果。

subtract(<Point> otherPoint)

返回从当前点减去给定点的结果。

divideBy(<Number> num)

返回当前点除以给定数字的结果。

multiplyBy(<Number> num)

返回当前点乘以给定数字的结果。

scaleBy(<Point> scale)

将当前点的每个坐标乘以 scale 的每个坐标。在线性代数中,用 scale 定义的 缩放矩阵 乘以点。

unscaleBy(<Point> scale)

scaleBy 的反运算。将当前点的每个坐标除以 scale 的每个坐标。

round()

返回一个坐标已四舍五入的当前点的副本。

floor()

返回一个坐标已向下取整(舍入到较小的整数)的当前点的副本。

ceil()

返回一个坐标已向上取整(舍入到较大的整数)的当前点的副本。

trunc()

返回一个坐标已截断(舍入到零)的当前点的副本。

distanceTo(<Point> otherPoint) 数字

返回当前点和给定点之间的笛卡尔距离。

equals(<Point> otherPoint) 布尔值

如果给定点具有相同的坐标,则返回 true

contains(<Point> otherPoint) 布尔值

如果给定点的两个坐标都小于相应的当前点坐标(以绝对值),则返回 true

toString() String

返回点的字符串表示形式,用于调试目的。

属性

属性 类型 描述
x 数字 点的 x 坐标
y 数字 点的 y 坐标

边界

表示像素坐标中的矩形区域。

使用示例

var p1 = L.point(10, 10),
p2 = L.point(40, 60),
bounds = L.bounds(p1, p2);

所有接受 Bounds 对象的 Leaflet 方法也接受它们以简单的数组形式(除非另有说明),因此上面的边界示例可以这样传递

otherBounds.intersects([[10, 10], [40, 60]]);

请注意,Bounds 不会继承自 Leaflet 的 Class 对象,这意味着新类不能继承自它,并且不能使用 include 函数向它添加新方法。

创建

工厂 描述
L.bounds(<Point> corner1, <Point> corner2) 从两个角坐标对创建一个 Bounds 对象。
L.bounds(<Point[]> points) 从给定的点数组创建一个 Bounds 对象。

方法

方法 返回值 描述
extend(<Point> point) this

扩展边界以包含给定的点。

extend(<Bounds> otherBounds) this

扩展边界以包含给定的边界

getCenter(<Boolean> round?)

返回边界的中心点。

getBottomLeft()

返回边界的左下角点。

getTopRight()

返回边界的右上角点。

getTopLeft()

返回边界的左上角点(即 this.min)。

getBottomRight()

返回边界的右下角点(即 this.max)。

getSize()

返回给定边界的尺寸。

contains(<Bounds> otherBounds) 布尔值

如果矩形包含给定的矩形,则返回 true

contains(<Point> point) 布尔值

如果矩形包含给定的点,则返回 true

intersects(<Bounds> otherBounds) 布尔值

如果矩形与给定的边界相交,则返回 true。如果两个边界至少有一个点在共同,则它们相交。

overlaps(<Bounds> otherBounds) 布尔值

如果矩形与给定的边界重叠,则返回 true。如果两个边界的交集是一个区域,则它们重叠。

isValid() 布尔值

如果边界已正确初始化,则返回 true

pad(<Number> bufferRatio) 边界

返回通过在每个方向上按给定比率扩展或收缩当前边界创建的边界。例如,比率为 0.5 将边界在每个方向上扩展 50%。负值将收缩边界。

equals(<Bounds> otherBounds) 布尔值

如果矩形等效于给定的边界,则返回 true

属性

属性 类型 描述
min 矩形的左上角。
max 矩形的右下角。

图标

表示创建标记时要提供的图标。

使用示例

var myIcon = L.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]
});

L.marker([50.505, 30.57], {icon: myIcon}).addTo(map);

L.Icon.Default 扩展了 L.Icon 并且是 Leaflet 默认情况下用于标记的蓝色图标。

创建

工厂 描述
L.icon(<图标选项> options) 使用给定的选项创建一个图标实例。

选项

选项 类型 默认值 描述
iconUrl String null (必填) 图标图像的 URL(相对于您的脚本路径的绝对路径或相对路径)。
iconRetinaUrl String null 图标图像的视网膜尺寸版本的 URL(相对于您的脚本路径的绝对路径或相对路径)。用于视网膜屏幕设备。
iconSize null 图标图像的尺寸(以像素为单位)。
iconAnchor null 图标“尖端”的坐标(相对于其左上角)。图标将对齐,使该点位于标记的地理位置。默认情况下居中,如果指定了大小,也可以使用负边距在 CSS 中设置。
popupAnchor [0, 0] 弹出窗口将从图标锚点“打开”的点的坐标。
tooltipAnchor [0, 0] 工具提示将从图标锚点“打开”的点的坐标。
shadowUrl String null 图标阴影图像的 URL。如果未指定,则不会创建阴影图像。
shadowRetinaUrl String null
shadowSize null 阴影图像的尺寸(以像素为单位)。
shadowAnchor null 阴影“尖端”的坐标(相对于其左上角)(如果未指定,则与 iconAnchor 相同)。
覆盖层位置的偏移量。 String '' 要分配给图标和阴影图像的自定义类名。默认情况下为空。
crossOrigin 布尔值|字符串 false 是否将 crossOrigin 属性添加到瓦片。如果提供了一个字符串,则所有瓦片将将其 crossOrigin 属性设置为提供的字符串。如果您想访问瓦片像素数据,则需要这样做。有关有效的字符串值,请参阅 CORS 设置

方法

方法 返回值 描述
createIcon(<HTMLElement> oldIcon?) HTMLElement

在必须显示图标时在内部调用,返回一个根据选项样式化的 <img> HTML 元素。

createShadow(<HTMLElement> oldIcon?) HTMLElement

createIcon 相同,但适用于其下面的阴影。

Icon.Default

一个 Icon 的简单子类,表示在未指定图标时在 Marker 中使用的图标。指向与 Leaflet 版本一起发布的蓝色标记图像。

为了自定义默认图标,只需更改 L.Icon.Default.prototype.options 的属性(这是一个 Icon options 集)。

如果您想完全替换默认图标,请使用您自己的图标覆盖 L.Marker.prototype.options.icon

选项 类型 默认值 描述
imagePath String Icon.Default 将尝试自动检测蓝色图标图像的位置。如果您以非标准方式放置这些图像,请设置此选项以指向正确的路径。

DivIcon

表示用于标记的轻量级图标,它使用简单的 <div> 元素而不是图像。继承自 Icon 但忽略 iconUrl 和阴影选项。

使用示例

var myIcon = L.divIcon({className: 'my-div-icon'});
// you can set .my-div-icon styles in CSS

L.marker([50.505, 30.57], {icon: myIcon}).addTo(map);

默认情况下,它有一个 'leaflet-div-icon' CSS 类,并被设计成一个带有阴影的小白色正方形。

创建

工厂 描述
L.divIcon(<DivIcon 选项> options) 使用给定的选项创建一个 DivIcon 实例。

选项

选项 类型 默认值 描述
html getContent '' 要放在 div 元素中的自定义 HTML 代码,默认情况下为空。或者,一个 HTMLElement 实例。
bgPos [0, 0] 背景的可选相对位置(以像素为单位)。
选项 类型 默认值 描述
iconUrl String null (必填) 图标图像的 URL(相对于您的脚本路径的绝对路径或相对路径)。
iconRetinaUrl String null 图标图像的视网膜尺寸版本的 URL(相对于您的脚本路径的绝对路径或相对路径)。用于视网膜屏幕设备。
iconSize null 图标图像的尺寸(以像素为单位)。
iconAnchor null 图标“尖端”的坐标(相对于其左上角)。图标将对齐,使该点位于标记的地理位置。默认情况下居中,如果指定了大小,也可以使用负边距在 CSS 中设置。
popupAnchor [0, 0] 弹出窗口将从图标锚点“打开”的点的坐标。
tooltipAnchor [0, 0] 工具提示将从图标锚点“打开”的点的坐标。
shadowUrl String null 图标阴影图像的 URL。如果未指定,则不会创建阴影图像。
shadowRetinaUrl String null
shadowSize null 阴影图像的尺寸(以像素为单位)。
shadowAnchor null 阴影“尖端”的坐标(相对于其左上角)(如果未指定,则与 iconAnchor 相同)。
覆盖层位置的偏移量。 String '' 要分配给图标和阴影图像的自定义类名。默认情况下为空。
crossOrigin 布尔值|字符串 false 是否将 crossOrigin 属性添加到瓦片。如果提供了一个字符串,则所有瓦片将将其 crossOrigin 属性设置为提供的字符串。如果您想访问瓦片像素数据,则需要这样做。有关有效的字符串值,请参阅 CORS 设置

方法

方法 返回值 描述
createIcon(<HTMLElement> oldIcon?) HTMLElement

在必须显示图标时在内部调用,返回一个根据选项样式化的 <img> HTML 元素。

createShadow(<HTMLElement> oldIcon?) HTMLElement

createIcon 相同,但适用于其下面的阴影。

Control.Zoom

一个带有两个按钮(放大和缩小)的基本缩放控件。它默认情况下放置在地图上,除非您将它的 zoomControl 选项 设置为 false。扩展了 Control

创建

工厂 描述
L.control.zoom(<Control.Zoom 选项> options) 创建一个缩放控件。

选项

选项 类型 默认值 描述
zoomInText String '<span aria-hidden="true">+</span>' 设置在“放大”按钮上的文本。
zoomInTitle String 'Zoom in' 设置在“放大”按钮上的标题。
zoomOutText String '<span aria-hidden="true">&#x2212;</span>' 设置在“缩小”按钮上的文本。
zoomOutTitle String 'Zoom out' 设置在“缩小”按钮上的标题。
选项 类型 默认值 描述
position String 'topright' 控件的位置(地图的其中一个角)。可能的值为 'topleft''topright''bottomleft''bottomright'

方法

方法 返回值 描述
getPosition() string

返回控件的位置。

setPosition(<string> position) this

设置控件的位置。

getContainer() HTMLElement

返回包含控件的 HTMLElement。

addTo(<地图> 地图) this

将控件添加到给定的地图。

remove() this

从当前处于活动状态的地图中删除控件。

Control.Attribution

归属控件允许您在地图上的一个小文本框中显示归属数据。它默认情况下放置在地图上,除非您将它的 attributionControl 选项 设置为 false,并且它会自动从具有 getAttribution 方法 的图层中获取归属文本。扩展了 Control。

创建

工厂 描述
L.control.attribution(<Control.Attribution 选项> options) 创建一个归属控件。

选项

选项 类型 默认值 描述
prefix String|false 'Leaflet' 在归属之前显示的 HTML 文本。传递 false 以禁用。
选项 类型 默认值 描述
position String 'topright' 控件的位置(地图的其中一个角)。可能的值为 'topleft''topright''bottomleft''bottomright'

方法

方法 返回值 描述
setPrefix(<String|false> prefix) this

在归属之前显示的 HTML 文本。传递 false 以禁用。

addAttribution(<String> text) this

添加归属文本(例如 '&copy; OpenStreetMap contributors')。

removeAttribution(<String> text) this

删除归属文本。

方法 返回值 描述
getPosition() string

返回控件的位置。

setPosition(<string> position) this

设置控件的位置。

getContainer() HTMLElement

返回包含控件的 HTMLElement。

addTo(<地图> 地图) this

将控件添加到给定的地图。

remove() this

从当前处于活动状态的地图中删除控件。

Control.Layers

图层控件使用户能够在不同的底图之间切换,并打开/关闭叠加层(查看 详细示例)。扩展了 Control

使用示例

var baseLayers = {
	"Mapbox": mapbox,
	"OpenStreetMap": osm
};

var overlays = {
	"Marker": marker,
	"Roads": roadsLayer
};

L.control.layers(baseLayers, overlays).addTo(map);

baseLayersoverlays 参数是对象字面量,其中图层名称作为键,Layer 对象作为值。

{
    "<someName1>": layer1,
    "<someName2>": layer2
}

图层名称可以包含 HTML,这使您能够向项目添加额外的样式。

{"<img src='my-layer-icon' /> <span class='my-layer-item'>My Layer</span>": myLayer}

创建

工厂 描述
L.control.layers(<Object> baselayers?, <Object> overlays?, <Control.Layers 选项> options?) 使用给定的图层创建一个图层控件。底图将使用单选按钮进行切换,而叠加层将使用复选框进行切换。请注意,所有底图都应在底图对象中传递,但在地图实例化期间,应将其中一个添加到地图中。

选项

选项 类型 默认值 描述
collapsed 布尔值 true 如果为 true,则控件将折叠成一个图标,并在鼠标悬停、触摸或键盘激活时展开。
autoZIndex 布尔值 true 如果为 true,则控件将以递增顺序为其所有图层分配 zIndexes,以便在打开/关闭它们时保留顺序。
hideSingleBase 布尔值 false 如果为 true,则当只有一个底图时,控件中的底图将隐藏。
sortLayers 布尔值 false 是否对图层进行排序。当为 false 时,图层将保持它们添加到控件中的顺序。
sortFunction 函数 * 一个 比较函数,当 sortLayerstrue 时将用于对图层进行排序。该函数接收 L.Layer 实例及其名称,如 sortFunction(layerA, layerB, nameA, nameB)。默认情况下,它按字母顺序按名称对图层进行排序。
选项 类型 默认值 描述
position String 'topright' 控件的位置(地图的其中一个角)。可能的值为 'topleft''topright''bottomleft''bottomright'

方法

方法 返回值 描述
addBaseLayer(<Layer> layer, <String> name) this

使用给定的名称向控件添加一个底图(单选按钮条目)。

addOverlay(<Layer> layer, <String> name) this

在控件中添加一个具有给定名称的叠加层(复选框条目)。

removeLayer(<Layer> layer) this

从控件中移除给定的图层。

展开() this

如果控件容器已折叠,则展开它。

折叠() this

如果控件容器已展开,则折叠它。

方法 返回值 描述
getPosition() string

返回控件的位置。

setPosition(<string> position) this

设置控件的位置。

getContainer() HTMLElement

返回包含控件的 HTMLElement。

addTo(<地图> 地图) this

将控件添加到给定的地图。

remove() this

从当前处于活动状态的地图中删除控件。

Control.Scale

一个简单的比例尺控件,显示屏幕中心当前比例的公制(m/km)和英制(mi/ft)系统。扩展了 Control

使用示例

L.control.scale().addTo(map);

创建

工厂 描述
L.control.scale(<Control.Scale 选项> options?) 使用给定的选项创建比例尺控件。

选项

选项 类型 默认值 描述
弹出窗口位置的偏移量。 数字 100 控件的最大宽度,以像素为单位。宽度会动态设置以显示圆整的值(例如 100、200、500)。
metric 布尔值 True 是否显示公制比例尺线(m/km)。
imperial 布尔值 True 是否显示英制比例尺线(mi/ft)。
updateWhenIdle 布尔值 false 如果为 true,则控件将在 moveend 上更新,否则始终保持最新状态(在 move 上更新)。
选项 类型 默认值 描述
position String 'topright' 控件的位置(地图的其中一个角)。可能的值为 'topleft''topright''bottomleft''bottomright'

方法

方法 返回值 描述
getPosition() string

返回控件的位置。

setPosition(<string> position) this

设置控件的位置。

getContainer() HTMLElement

返回包含控件的 HTMLElement。

addTo(<地图> 地图) this

将控件添加到给定的地图。

remove() this

从当前处于活动状态的地图中删除控件。

浏览器

一个命名空间,包含 Leaflet 内部使用的浏览器/功能检测的静态属性。

使用示例

if (L.Browser.ielt9) {
  alert('Upgrade your browser, dude!');
}

属性

属性 类型 描述
ie 布尔值 所有 Internet Explorer 版本(非 Edge)均为 true
ielt9 布尔值 Internet Explorer 版本低于 9 的为 true
edge 布尔值 Edge 浏览器为 true
webkit 布尔值; 基于 webkit 的浏览器(如 Chrome 和 Safari,包括移动版本)为 true
android 布尔值 已弃用。 在 Android 平台上运行的任何浏览器均为 true
android23 布尔值 已弃用。 在 Android 2 或 Android 3 上运行的浏览器均为 true
androidStock 布尔值 已弃用。 Android 原生浏览器(即非 Chrome)为 true
opera 布尔值 Opera 浏览器为 true
chrome 布尔值 Chrome 浏览器为 true
gecko 布尔值 基于 gecko 的浏览器(如 Firefox)为 true
safari 布尔值 Safari 浏览器为 true
opera12 布尔值 支持 CSS 变换的 Opera 浏览器(版本 12 或更高版本)为 true
win 布尔值 浏览器在 Windows 平台上运行时为 true
ie3d 布尔值 支持 CSS 变换的所有 Internet Explorer 版本均为 true
webkit3d 布尔值 支持 CSS 变换的基于 webkit 的浏览器为 true
gecko3d 布尔值 支持 CSS 变换的基于 gecko 的浏览器为 true
any3d 布尔值 支持 CSS 变换的所有浏览器均为 true
mobile 布尔值 所有在移动设备上运行的浏览器均为 true
mobileWebkit 布尔值 所有在移动设备上的基于 webkit 的浏览器均为 true
mobileWebkit3d 布尔值 所有在移动设备上支持 CSS 变换的基于 webkit 的浏览器均为 true
msPointer 布尔值 实施 Microsoft 触摸事件模型的浏览器(特别是 IE10)为 true
pointer 布尔值 支持 指针事件 的所有浏览器均为 true
touchNative 布尔值 支持 触摸事件 的所有浏览器均为 true这并不一定意味着 浏览器运行在带有触摸屏的计算机上,仅表示浏览器能够理解触摸事件。
touch 布尔值 支持 触摸指针 事件的所有浏览器均为 true。注意:指针事件将优先使用(如果可用),并针对所有 touch* 侦听器进行处理。
mobileOpera 布尔值 移动设备上的 Opera 浏览器为 true
mobileGecko 布尔值 在移动设备上运行的基于 gecko 的浏览器为 true
retina 布尔值 在高分辨率“视网膜”屏幕上的浏览器或浏览器显示缩放比例超过 100% 的任何屏幕上为 true
passiveEvents 布尔值 支持被动事件的浏览器为 true
canvas 布尔值 浏览器支持 <canvas> 时为 true
svg 布尔值 浏览器支持 SVG 时为 true
vml 布尔值 浏览器支持 VML 时为 true
mac 布尔值 浏览器在 Mac 平台上运行时为 true 浏览器在 Linux 平台上运行时为 true

Util

各种实用程序函数,Leaflet 内部使用。

函数

函数 返回值 描述
extend(<Object> dest, <Object> src?) Object src 对象(或多个对象)的属性合并到 dest 对象中,并返回后者。有一个 L.extend 快捷方式。
create(<Object> proto, <Object> properties?) Object Object.create 的兼容性 polyfill
bind(<Function> fn, ) 函数 返回一个绑定到传递参数的新函数,类似于 Function.prototype.bind。有一个 L.bind() 快捷方式。
stamp(<Object> obj) 数字 返回对象的唯一 ID,如果对象没有 ID,则为其分配一个 ID。
throttle(<Function> fn, <Number> time, <Object> context) 函数 返回一个函数,该函数使用给定的范围 context 执行函数 fn(以便 this 关键字引用 fn 代码内的 context)。函数 fn 在给定的 time 时间段内最多调用一次。绑定函数接收的参数将是绑定函数时传递的任何参数,后跟调用绑定函数时传递的任何参数。有一个 L.throttle 快捷方式。
wrapNum(<Number> num, <Number[]> range, <Boolean> includeMax?) 数字 返回数字 numrange 的模运算,以使它位于 range[0]range[1] 之内。返回值始终小于 range[1],除非将 includeMax 设置为 true
falseFn() 函数 返回一个始终返回 false 的函数。
formatNum(<Number> num, <数字|false> 精度?) 数字 返回使用指定 precision 四舍五入的数字 num。默认 precision 值为 6 位小数。可以传递 false 以跳过任何处理(可以用于避免舍入误差)。
trim(<String> str) String String.prototype.trim 的兼容性 polyfill
splitWords(<String> str) String[] 修剪字符串并在空格处拆分,并返回零件数组。
setOptions(<Object> obj, <Object> options) Object 将给定的属性合并到 obj 对象的 options 中,并返回结果选项。请参见 Class options。有一个 L.setOptions 快捷方式。
getParamString(<Object> obj, <String> existingUrl?, <Boolean> uppercase?) String 将对象转换为参数 URL 字符串,例如 {a: "foo", b: "bar"} 转换为 '?a=foo&b=bar'。如果设置了 existingUrl,则参数将追加到末尾。如果 uppercasetrue,则参数名称将大写(例如 '?A=foo&B=bar'
template(<String> str, <Object> data) String 简单的模板工具,接受形式为 'Hello {a}, {b}' 的模板字符串和类似于 {a: 'foo', b: 'bar'} 的数据对象,返回评估后的字符串 ('Hello foo, bar')。您也可以为数据值指定函数而不是字符串——它们将在传递 data 作为参数时进行评估。
isArray(obj) 布尔值 Array.isArray 的兼容性 polyfill
indexOf(<数组> array, <Object> el) 数字 Array.prototype.indexOf 的兼容性 polyfill
requestAnimFrame(<Function> fn, <Object> context?, <Boolean> immediate?) 数字 安排在浏览器重新绘制时执行 fn。如果给出 context,则 fn 将绑定到 context。当 immediate 设置为 true 时,如果浏览器不支持原生 window.requestAnimationFrame,则会立即调用 fn,否则会延迟调用。返回一个请求 ID,该 ID 可用于取消请求。
cancelAnimFrame(<Number> id) undefined 取消之前的 requestAnimFrame。另请参见 window.cancelAnimationFrame.

属性

属性 类型 描述
lastId 数字 stamp() 使用的最后一个唯一 ID
emptyImageUrl String 包含 base64 编码的空 GIF 图像的数据 URI 字符串。用作在基于 WebKit 的移动设备上从未使用图像释放内存的技巧(通过将图像 src 设置为此字符串)。

转换

表示仿射变换:一组系数 abcd,用于将形式为 (x, y) 的点转换为 (a*x + b, c*y + d) 并执行反向转换。Leaflet 在其投影代码中使用它。

使用示例

var transformation = L.transformation(2, 5, -1, 10),
	p = L.point(1, 2),
	p2 = transformation.transform(p), //  L.point(7, 8)
	p3 = transformation.untransform(p2); //  L.point(1, 2)

创建

工厂 描述
L.transformation(<Number> a, <Number> b, <Number> c, <Number> d) 使用给定的系数实例化 Transformation 对象。
L.transformation(<数组> coefficients) 预期形式为 [a: Number, b: Number, c: Number, d: Number] 的系数数组。

方法

方法 返回值 描述
transform(<Point> point, <Number> scale?)

返回一个经过变换的点,可选地乘以给定的比例。仅接受实际的 L.Point 实例,而不是数组。

untransform(<Point> point, <Number> scale?)

返回给定点的反向变换,可选地除以给定的比例。仅接受实际的 L.Point 实例,而不是数组。

LineUtil

用于多边形线点处理的各种实用程序函数,Leaflet 内部使用,以使多边形线快速运行。

函数

函数 返回值 描述
simplify(<Point[]> points, <Number> tolerance) Point[] 使用 Ramer-Douglas-Peucker 算法 大幅减少多边形线中的点数,同时保留其形状,并返回一个新的简化点数组。用于处理/显示 Leaflet 多边形线以获得每个缩放级别的巨大性能提升,同时减少视觉噪音。tolerance 影响简化程度(较小的值表示质量更高,但速度更慢,点数更多)。也作为单独的微型库发布 Simplify.js.
pointToSegmentDistance(<Point> p, <Point> p1, <Point> p2) 数字 返回点 p 和从 p1p2 的线段之间的距离。
closestPointOnSegment(<Point> p, <Point> p1, <Point> p2) 数字 返回从 p1p2 的线段上点 p 的最近点。
clipSegment(<Point> a, <Point> b, <Bounds> bounds, <Boolean> useLastCode?, <Boolean> round?) Point[]|Boolean 使用 Cohen-Sutherland 算法 通过矩形边界剪切从 a 到 b 的线段(直接修改线段点!)。Leaflet 使用它来仅显示屏幕上或附近的折线点,从而提高性能。
isFlat(<LatLng[]> latlngs) 布尔值 如果 latlngs 是一个扁平数组,则返回 true,如果是嵌套数组,则返回 false。
polylineCenter(<LatLng[]> latlngs, <CRS> crs) LatLng 返回折线中传递的 LatLngs(第一环)的中心 (质心)。

PolyUtil

用于多边形几何的各种实用程序函数。

函数

函数 返回值 描述
clipPolygon(<Point[]> points, <Bounds> bounds, <Boolean> round?) Point[] 使用给定的边界剪切由给定 points 定义的多边形几何(使用 Sutherland-Hodgman 算法)。Leaflet 使用它来仅显示屏幕上或附近的折线点,从而提高性能。请注意,多边形点需要与折线不同的剪切算法,因此它有一个单独的方法。
polygonCenter(<LatLng[]> latlngs, <CRS> crs) LatLng 返回传递的 LatLngs(第一环)中多边形的中心 (质心)。
centroid(<LatLng[]> latlngs) LatLng 返回传递的 LatLngs 的“质心”。

DomEvent

用于处理 DOM 事件 的实用程序函数,Leaflet 内部使用。

函数

函数 返回值 描述
on(<HTMLElement> el, <String> types, <Function> fn, <Object> context?) this 将一个监听函数 (fn) 添加到元素 el 的特定 DOM 事件类型。您可以选择指定监听器的上下文 (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}
off(<HTMLElement> el, <String> types) this 删除所有之前添加的给定类型的监听器。
off(<HTMLElement> el) this 从给定的 HTMLElement 中删除所有之前添加的监听器。
stopPropagation(<DOMEvent> ev) this 阻止给定事件传播到父元素。在监听器函数内部使用。
L.DomEvent.on(div, 'click', function (ev) {
	L.DomEvent.stopPropagation(ev);
});
disableScrollPropagation(<HTMLElement> el) this stopPropagation 添加到元素的 'wheel' 事件 (以及浏览器变体)。
disableClickPropagation(<HTMLElement> el) this stopPropagation 添加到元素的 'click''dblclick''contextmenu''mousedown''touchstart' 事件 (以及浏览器变体)。
preventDefault(<DOMEvent> ev) this 阻止 DOM 事件 ev 的默认操作发生 (例如,在 a 元素的 href 中跟随链接,或者在提交 <form> 时使用页面重新加载执行 POST 请求)。在监听器函数内部使用。
stop(<DOMEvent> ev) this 同时执行 stopPropagationpreventDefault
getPropagationPath(<DOMEvent> ev) 数组 Event.composedPath() 的兼容性 polyfill。返回一个数组,其中包含给定 DOM 事件应传播到的 HTMLElement (如果未停止)。
getMousePosition(<DOMEvent> ev, <HTMLElement> container?) 从相对于 container (不包括边框) 的 DOM 事件获取标准化鼠标位置,如果未指定,则相对于整个页面获取。
getWheelDelta(<DOMEvent> ev) 数字 从滚轮 DOM 事件获取标准化滚轮增量,以滚动的垂直像素为单位 (向下滚动时为负数)。来自没有精确滚动的指示设备的事件将映射到最佳猜测的 60 像素。
addListener() this L.DomEvent.on 的别名。
removeListener() this L.DomEvent.off 的别名。

DomUtil

用于与 DOM 树一起工作的实用程序函数,Leaflet 内部使用。

大多数期望或返回 HTMLElement 的函数也适用于 SVG 元素。唯一的区别是类在 HTML 中指的是 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 创建一个具有 tagName 的 HTML 元素,将其类设置为 className,并可选地将其附加到 container 元素。
remove(<HTMLElement> el) 从其父元素中删除 el
empty(<HTMLElement> el) el 中删除所有 el 的子元素。
toFront(<HTMLElement> el) 使 el 成为其父元素的最后一个子元素,以便它在其他子元素前面呈现。
toBack(<HTMLElement> el) 使 el 成为其父元素的第一个子元素,以便它在其他子元素后面呈现。
hasClass(<HTMLElement> el, <String> name) 布尔值 如果元素的类属性包含 name,则返回 true
addClass(<HTMLElement> el, <String> name) name 添加到元素的类属性中。
removeClass(<HTMLElement> el, <String> name) 从元素的类属性中删除 name
setClass(<HTMLElement> el, <String> name) 设置元素的类。
getClass(<HTMLElement> el) String 返回元素的类。
setOpacity(<HTMLElement> el, <Number> opacity) 设置元素的不透明度 (包括旧版 IE 支持)。opacity 必须是介于 01 之间的数字。
testProp(<String[]> props) String|false 遍历样式名称数组,返回第一个有效的元素样式名称。如果找不到这样的名称,则返回 false。对于像 transform 这样的供应商前缀样式很有用。
setTransform(<HTMLElement> el, <Point> offset, <Number> scale?) 重置 el 的 3D CSS 变换,使其以 offset 像素平移,并可选地按 scale 缩放。如果浏览器不支持 3D CSS 变换,则不会产生任何影响。
setPosition(<HTMLElement> el, <Point> position) el 的位置设置为 position 指定的坐标,使用 CSS 平移或 top/left 定位,具体取决于浏览器 (Leaflet 内部使用它来定位其图层)。
getPosition(<HTMLElement> el) 返回先前使用 setPosition 定位的元素的坐标。
disableTextSelection() 防止用户生成 selectstart DOM 事件,通常在用户将鼠标拖过包含文本的页面时生成。Leaflet 内部使用它来覆盖地图上任何点击拖动交互的行为。影响整个文档的拖动交互。
enableTextSelection() 取消先前 L.DomUtil.disableTextSelection 的效果。
disableImageDrag() L.DomUtil.disableTextSelection 相同,但适用于 dragstart DOM 事件,通常在用户拖动图像时生成。
enableImageDrag() 取消先前 L.DomUtil.disableImageDrag 的效果。
preventOutline(<HTMLElement> el) 使元素 eloutline 不可見。Leaflet 内部使用它来防止可聚焦元素在用户对其执行拖动交互时显示轮廓。
restoreOutline() 取消先前 L.DomUtil.preventOutline 的效果。
getSizedParentNode(<HTMLElement> el) HTMLElement 查找大小 (宽度和高度) 不为 null 的最近的父节点。
getScale(<HTMLElement> el) Object 计算当前应用于元素的 CSS 缩放。返回一个对象,其 xy 成员分别为水平和垂直缩放,boundingClientRectgetBoundingClientRect() 的结果。

属性

属性 类型 描述
TRANSFORM String 供应商前缀变换样式名称 (例如,对于 WebKit,为 'webkitTransform')。
TRANSITION String 供应商前缀过渡样式名称。
TRANSITION_END String 供应商前缀过渡结束事件名称。

PosAnimation

在内部用于平移动画,利用 CSS3 过渡来处理现代浏览器,以及使用计时器回退来处理 IE6-9。

使用示例

var myPositionMarker = L.marker([48.864716, 2.294694]).addTo(map);

myPositionMarker.on("click", function() {
	var pos = map.latLngToLayerPoint(myPositionMarker.getLatLng());
	pos.y -= 25;
	var fx = new L.PosAnimation();

	fx.once('end',function() {
		pos.y += 25;
		fx.run(myPositionMarker._icon, pos, 0.8);
	});

	fx.run(myPositionMarker._icon, pos, 0.3);
});

构造函数

构造函数 描述
L.PosAnimation() 创建一个 PosAnimation 对象。

事件

事件 数据 描述
start 事件 在动画开始时触发。
step 事件 在动画期间连续触发。
end 事件 在动画结束时触发。

方法

方法 返回值 描述
run(<HTMLElement> el, <Point> newPos, <Number> duration?, <Number> easeLinearity?)

对给定元素运行动画以到达新位置,可选地设置以秒为单位的持续时间 (默认值为 0.25) 和缓动线性因子 (三次贝塞尔曲线 的第三个参数,默认值为 0.5)。

stop()

停止动画 (如果当前正在运行)。

方法 返回值 描述
on(<String> type, <Function> fn, <Object> context?) this

将监听函数 (fn) 添加到对象的特定事件类型。您可以选择指定监听器的上下文(this 关键字指向的对象)。您也可以传递多个用空格分隔的类型(例如 'click dblclick')。

on(<Object> eventMap) this

添加一组类型/监听器对,例如 {click: onClick, mousemove: onMouseMove}

off(<String> type, <Function> fn?, <Object> context?) this

删除先前添加的监听函数。如果没有指定函数,它将从对象中删除该特定事件的所有监听器。请注意,如果您为 on 传递了自定义上下文,则必须将相同的上下文传递给 off 才能删除监听器。

off(<Object> eventMap) this

删除一组类型/监听器对。

off() this

删除对象上所有事件的所有监听器。这包括隐式附加的事件。

fire(<String> type, <Object> data?, <Boolean> propagate?) this

触发指定类型的事件。您可以选择提供一个数据对象 - 监听函数的第一个参数将包含其属性。事件可以可选地传播到事件父级。

listens(<String> type, <Boolean> propagate?) 布尔值

如果特定事件类型有任何监听器附加到它,则返回 true。验证可以选择传播,如果父级有监听器附加到它,它将返回 true

once() this

on(…) 相同,但监听器只会被触发一次,然后被移除。

addEventParent(<Evented> obj) this

添加一个事件父级 - 一个 Evented,它将接收传播的事件

removeEventParent(<Evented> obj) this

删除一个事件父级,这样它将停止接收传播的事件

addEventListener() this

on(…) 的别名

removeEventListener() this

off(…) 的别名

clearAllEventListeners() this

off() 的别名

addOneTimeEventListener() this

once(…) 的别名

fireEvent() this

fire(…) 的别名

hasEventListeners() 布尔值

listens(…) 的别名

Draggable

一个用于使 DOM 元素可拖动的类 (包括触摸支持)。Leaflet 内部使用它来拖动地图和标记。仅适用于使用 L.DomUtil.setPosition 定位的元素。

使用示例

var draggable = new L.Draggable(elementToDrag);
draggable.enable();

构造函数

构造函数 描述
L.Draggable(<HTMLElement> el, <HTMLElement> dragHandle?, <Boolean> preventOutline?, <可拖动选项> options?) 创建一个 Draggable 对象,用于在您开始拖动 dragHandle 元素 (默认情况下等于 el 本身) 时移动 el

选项

选项 类型 默认值 描述
clickTolerance 数字 3 用户在点击期间可以移动鼠标指针的最大像素数,以便将其视为有效点击 (而不是鼠标拖动)。

事件

事件 数据 描述
down 事件 在即将开始拖动时触发。
dragstart 事件 在拖动开始时触发。
predrag 事件 在拖动期间,在元素位置的每次相应更新之前连续触发。
拖动 事件 在拖动期间连续触发。
拖动结束 DragEndEvent 在拖动结束时触发。

方法

方法 返回值 描述
enable()

启用拖动功能。

disable()

禁用拖动功能。

方法 返回值 描述
on(<String> type, <Function> fn, <Object> context?) this

将监听函数 (fn) 添加到对象的特定事件类型。您可以选择指定监听器的上下文(this 关键字指向的对象)。您也可以传递多个用空格分隔的类型(例如 'click dblclick')。

on(<Object> eventMap) this

添加一组类型/监听器对,例如 {click: onClick, mousemove: onMouseMove}

off(<String> type, <Function> fn?, <Object> context?) this

删除先前添加的监听函数。如果没有指定函数,它将从对象中删除该特定事件的所有监听器。请注意,如果您为 on 传递了自定义上下文,则必须将相同的上下文传递给 off 才能删除监听器。

off(<Object> eventMap) this

删除一组类型/监听器对。

off() this

删除对象上所有事件的所有监听器。这包括隐式附加的事件。

fire(<String> type, <Object> data?, <Boolean> propagate?) this

触发指定类型的事件。您可以选择提供一个数据对象 - 监听函数的第一个参数将包含其属性。事件可以可选地传播到事件父级。

listens(<String> type, <Boolean> propagate?) 布尔值

如果特定事件类型有任何监听器附加到它,则返回 true。验证可以选择传播,如果父级有监听器附加到它,它将返回 true

once() this

on(…) 相同,但监听器只会被触发一次,然后被移除。

addEventParent(<Evented> obj) this

添加一个事件父级 - 一个 Evented,它将接收传播的事件

removeEventParent(<Evented> obj) this

删除一个事件父级,这样它将停止接收传播的事件

addEventListener() this

on(…) 的别名

removeEventListener() this

off(…) 的别名

clearAllEventListeners() this

off() 的别名

addOneTimeEventListener() this

once(…) 的别名

fireEvent() this

fire(…) 的别名

hasEventListeners() 布尔值

listens(…) 的别名

L.Class 为 Leaflet 的 OOP 功能提供支持,并用于创建此处记录的几乎所有 Leaflet 类。

除了实现简单的经典继承模型外,它还引入了几个用于方便代码组织的特殊属性 - 选项、包含和静态属性。

使用示例

var MyClass = L.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");

类工厂

您可能已经注意到,Leaflet 对象是在不使用 new 关键字的情况下创建的。这是通过用小写工厂方法补充每个类来实现的。

new L.Map('map'); // becomes:
L.map('map');

工厂的实现非常容易,您可以对自己的类执行此操作。

L.map = function (id, options) {
    return new L.Map(id, options);
};

继承

您使用 L.Class.extend 来定义新类,但您可以在任何类上使用相同的方法来从其继承。

var MyChildClass = MyClass.extend({
    // ... new properties and methods
});

这将创建一个继承了父类所有方法和属性的类 (通过正确的原型链),添加或覆盖您传递给 extend 的属性。它也会对 instanceof 做出正确反应。

var a = new MyChildClass();
a instanceof MyChildClass; // true
a instanceof MyClass; // true

您可以从相应的子方法 (就像您在其他语言中使用 super 调用一样) 调用父方法 (包括构造函数),方法是访问父类原型并使用 JavaScript 的 call 或 apply。

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 = L.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

还有 L.Util.setOptions,这是一种用于将传递给构造函数的选项方便地与类中定义的默认值合并的方法。

var MyClass = L.Class.extend({
    options: {
        foo: 'bar',
        bla: 5
    },

    initialize: function (options) {
        L.Util.setOptions(this, options);
        ...
    }
});

var a = new MyClass({bla: 10});
a.options; // {foo: 'bar', bla: 10}

请注意,选项对象允许任何键,而不仅仅是类及其基类定义的选项。这意味着您可以使用选项对象来存储应用程序特定的信息,只要您避免已经由相关类使用的键。

包含

includes 是一个特殊的类属性,它将所有指定的对象合并到类中 (此类对象称为 mixin)。

 var MyMixin = {
    foo: function () { ... },
    bar: 5
};

var MyClass = L.Class.extend({
    includes: MyMixin
});

var a = new MyClass();
a.foo();

您也可以在运行时使用 include 方法执行此类包含。

MyClass.include(MyMixin);

statics 只是一个便利属性,它将指定的对象属性注入为类的静态属性,这对于定义常量很有用。

var MyClass = L.Class.extend({
    statics: {
        FOO: 'bar',
        BLA: 5
    }
});

MyClass.FOO; // 'bar'

构造函数挂钩

如果您是插件开发人员,您通常需要向现有类添加额外的初始化代码 (例如,L.Polyline 的编辑挂钩)。Leaflet 提供了一种使用 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) 函数 扩展当前类,给出要包含的属性。返回一个 JavaScript 函数,它是一个类构造函数 (要使用 new 调用)。
include(<Object> properties) this 将 mixin 包含到当前类中。
mergeOptions(<Object> options) this options 合并到类的默认值中。
addInitHook(<Function> fn) this 向类添加一个 构造函数挂钩

Evented

一组在事件驱动的类 (例如 MapMarker) 之间共享的方法。通常,事件允许您在对象发生某些事情时执行某个函数 (例如,用户点击地图,导致地图触发 'click' 事件)。

使用示例

map.on('click', function(e) {
	alert(e.latlng);
} );

Leaflet 使用引用处理事件监听器,因此如果您想添加一个监听器并将其移除,请将其定义为一个函数。

function onClick(e) { ... }

map.on('click', onClick);
map.off('click', onClick);

方法

方法 返回值 描述
on(<String> type, <Function> fn, <Object> context?) this

将监听函数 (fn) 添加到对象的特定事件类型。您可以选择指定监听器的上下文(this 关键字指向的对象)。您也可以传递多个用空格分隔的类型(例如 'click dblclick')。

on(<Object> eventMap) this

添加一组类型/监听器对,例如 {click: onClick, mousemove: onMouseMove}

off(<String> type, <Function> fn?, <Object> context?) this

删除先前添加的监听函数。如果没有指定函数,它将从对象中删除该特定事件的所有监听器。请注意,如果您为 on 传递了自定义上下文,则必须将相同的上下文传递给 off 才能删除监听器。

off(<Object> eventMap) this

删除一组类型/监听器对。

off() this

删除对象上所有事件的所有监听器。这包括隐式附加的事件。

fire(<String> type, <Object> data?, <Boolean> propagate?) this

触发指定类型的事件。您可以选择提供一个数据对象 - 监听函数的第一个参数将包含其属性。事件可以可选地传播到事件父级。

listens(<String> type, <Boolean> propagate?) 布尔值

如果特定事件类型有任何监听器附加到它,则返回 true。验证可以选择传播,如果父级有监听器附加到它,它将返回 true

once() this

on(…) 相同,但监听器只会被触发一次,然后被移除。

addEventParent(<Evented> obj) this

添加一个事件父级 - 一个 Evented,它将接收传播的事件

removeEventParent(<Evented> obj) this

删除一个事件父级,这样它将停止接收传播的事件

addEventListener() this

on(…) 的别名

removeEventListener() this

off(…) 的别名

clearAllEventListeners() this

off() 的别名

addOneTimeEventListener() this

once(…) 的别名

fireEvent() this

fire(…) 的别名

hasEventListeners() 布尔值

listens(…) 的别名

图层

Layer 基类中的一组方法,所有 Leaflet 图层都使用这些方法。继承了所有方法、选项和事件,来自 L.Evented

使用示例

var layer = L.marker(latlng).addTo(map);
layer.addTo(map);
layer.remove();

选项

选项 类型 默认值 描述
pane String 'overlayPane' 默认情况下,图层将被添加到地图的 叠加面板。覆盖此选项将导致图层默认情况下放置在另一个面板上。
attribution String null 要显示在归属控件中的字符串,例如 "© OpenStreetMap 贡献者"。它描述了图层数据,通常是针对版权持有者和瓦片提供者的法律义务。

事件

事件 数据 描述
添加 事件 图层添加到地图后触发
remove 事件 图层从地图中移除后触发

弹出框事件

事件 数据 描述
popupopen PopupEvent 绑定到此图层的弹出窗口打开时触发
popupclose PopupEvent 绑定到此图层的弹出窗口关闭时触发

工具提示事件

事件 数据 描述
tooltipopen TooltipEvent 绑定到此图层的工具提示打开时触发。
tooltipclose TooltipEvent 绑定到此图层的工具提示关闭时触发。

方法

扩展 L.Layer 的类将继承以下方法
方法 返回值 描述
addTo(<地图|图层组> 地图) this

将图层添加到给定的地图或图层组。

remove() this

从图层当前处于活动状态的地图中移除图层。

removeFrom(<地图> 地图) this

从给定的地图中移除图层

removeFrom(<图层组> ) this

从给定的 图层组 中移除图层

getPane(<String> 名称?) HTMLElement

返回表示地图上命名窗格的 HTMLElement。如果省略 name,则返回此图层的窗格。

getAttribution() String

attribution control 使用,返回 attribution option

扩展方法

每个图层都应该扩展自 L.Layer 并(重新)实现以下方法。
方法 返回值 描述
onAdd(<地图> 地图) this

应该包含创建图层 DOM 元素的代码,将其添加到它们应该所属的 map panes 中,并在相关地图事件上添加监听器。在 map.addLayer(layer) 上调用。

onRemove(<地图> 地图) this

应该包含所有清理代码,这些代码会从 DOM 中移除图层的元素,并移除之前在 onAdd 中添加的监听器。在 map.removeLayer(layer) 上调用。

getEvents() Object

此可选方法应该返回一个类似于 { viewreset: this._reset } 的对象,用于 addEventListener。此对象中的事件处理程序将自动添加到地图中并从地图中移除,与您的图层一起。

getAttribution() String

此可选方法应该返回一个字符串,其中包含在图层可见时在 Attribution control 上显示的 HTML。

beforeAdd(<地图> 地图) this

可选方法。在 map.addLayer(layer) 上调用,在图层添加到地图之前、事件初始化之前,无需等到地图处于可用状态。仅用于早期初始化。

Popup 方法

所有图层都共享一组方法,这些方法便于将弹出窗口绑定到它。
var layer = L.Polygon(latlngs).bindPopup('Hi There!').addTo(map);
layer.openPopup();
layer.closePopup();

当单击图层时,弹出窗口也会自动打开,当图层从地图中移除或打开另一个弹出窗口时,弹出窗口也会自动关闭。

方法 返回值 描述
bindPopup(<字符串|HTMLElement|函数|弹出窗口> content, <Popup 选项> options?) this

使用传递的 content 将弹出窗口绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindPopup() this

移除先前使用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 或默认的弹出窗口锚点处打开绑定的弹出窗口(如果未传递 latlng)。

closePopup() this

关闭绑定到此图层的弹出窗口(如果已打开)。

togglePopup() this

根据其当前状态打开或关闭绑定到此图层的弹出窗口。

isPopupOpen() 布尔值

如果绑定到此图层的弹出窗口当前已打开,则返回 true

setPopupContent(<字符串|HTMLElement|弹出窗口> content) this

设置绑定到此图层的弹出窗口的内容。

getPopup() 弹出框

返回绑定到此图层的弹出窗口。

工具提示方法

所有图层都共享一组方法,这些方法便于将工具提示绑定到它。
var layer = L.Polygon(latlngs).bindTooltip('Hi There!').addTo(map);
layer.openTooltip();
layer.closeTooltip();
方法 返回值 描述
bindTooltip(<字符串|HTMLElement|函数|工具提示> content, <Tooltip 选项> options?) this

使用传递的 content 将工具提示绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindTooltip() this

移除先前使用 bindTooltip 绑定的工具提示。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 或默认的工具提示锚点处打开绑定的工具提示(如果未传递 latlng)。

closeTooltip() this

关闭绑定到此图层的工具提示(如果已打开)。

toggleTooltip() this

根据其当前状态打开或关闭绑定到此图层的工具提示。

isTooltipOpen() 布尔值

如果绑定到此图层的工具提示当前已打开,则返回 true

setTooltipContent(<字符串|HTMLElement|工具提示> content) this

设置绑定到此图层的工具提示的内容。

getTooltip() 工具提示

返回绑定到此图层的工具提示。

方法 返回值 描述
on(<String> type, <Function> fn, <Object> context?) this

将监听函数 (fn) 添加到对象的特定事件类型。您可以选择指定监听器的上下文(this 关键字指向的对象)。您也可以传递多个用空格分隔的类型(例如 'click dblclick')。

on(<Object> eventMap) this

添加一组类型/监听器对,例如 {click: onClick, mousemove: onMouseMove}

off(<String> type, <Function> fn?, <Object> context?) this

删除先前添加的监听函数。如果没有指定函数,它将从对象中删除该特定事件的所有监听器。请注意,如果您为 on 传递了自定义上下文,则必须将相同的上下文传递给 off 才能删除监听器。

off(<Object> eventMap) this

删除一组类型/监听器对。

off() this

删除对象上所有事件的所有监听器。这包括隐式附加的事件。

fire(<String> type, <Object> data?, <Boolean> propagate?) this

触发指定类型的事件。您可以选择提供一个数据对象 - 监听函数的第一个参数将包含其属性。事件可以可选地传播到事件父级。

listens(<String> type, <Boolean> propagate?) 布尔值

如果特定事件类型有任何监听器附加到它,则返回 true。验证可以选择传播,如果父级有监听器附加到它,它将返回 true

once() this

on(…) 相同,但监听器只会被触发一次,然后被移除。

addEventParent(<Evented> obj) this

添加一个事件父级 - 一个 Evented,它将接收传播的事件

removeEventParent(<Evented> obj) this

删除一个事件父级,这样它将停止接收传播的事件

addEventListener() this

on(…) 的别名

removeEventListener() this

off(…) 的别名

clearAllEventListeners() this

off() 的别名

addOneTimeEventListener() this

once(…) 的别名

fireEvent() this

fire(…) 的别名

hasEventListeners() 布尔值

listens(…) 的别名

交互式图层

一些 Layer 可以被设置为可交互的 - 当用户与这样的图层交互时,可以处理诸如 clickmouseover 之类的鼠标事件。使用 事件处理方法 处理这些事件。

选项

选项 类型 默认值 描述
interactive 布尔值 true 如果为 false,则该层将不会发出鼠标事件,并且将充当底层地图的一部分。
bubblingMouseEvents 布尔值 true 在初始化时设置覆盖层的 HTML 内容。如果传递的是函数,则源图层将被传递给该函数。该函数应返回一个 StringHTMLElement,用于在覆盖层中使用。
选项 类型 默认值 描述
pane String 'overlayPane' 默认情况下,图层将被添加到地图的 叠加面板。覆盖此选项将导致图层默认情况下放置在另一个面板上。
attribution String null 要显示在归属控件中的字符串,例如 "© OpenStreetMap 贡献者"。它描述了图层数据,通常是针对版权持有者和瓦片提供者的法律义务。

事件

鼠标事件

事件 数据 描述
click MouseEvent 用户点击(或轻触)图层时触发。
dblclick MouseEvent 用户双击(或双击)图层时触发。
mousedown MouseEvent 用户在图层上按下鼠标按钮时触发。
mouseup MouseEvent 用户释放按下在图层上的鼠标按钮时触发。
mouseover MouseEvent 鼠标进入图层时触发。
mouseout MouseEvent 鼠标离开图层时触发。
contextmenu MouseEvent 用户右键单击图层时触发,如果此事件有监听器,则阻止默认浏览器上下文菜单显示。在移动设备上,当用户将手指按在屏幕上保持一秒钟(也称为长按)时也会触发。
事件 数据 描述
添加 事件 图层添加到地图后触发
remove 事件 图层从地图中移除后触发
事件 数据 描述
popupopen PopupEvent 绑定到此图层的弹出窗口打开时触发
popupclose PopupEvent 绑定到此图层的弹出窗口关闭时触发
事件 数据 描述
tooltipopen TooltipEvent 绑定到此图层的工具提示打开时触发。
tooltipclose TooltipEvent 绑定到此图层的工具提示关闭时触发。

方法

方法 返回值 描述
addTo(<地图|图层组> 地图) this

将图层添加到给定的地图或图层组。

remove() this

从图层当前处于活动状态的地图中移除图层。

removeFrom(<地图> 地图) this

从给定的地图中移除图层

removeFrom(<图层组> ) this

从给定的 图层组 中移除图层

getPane(<String> 名称?) HTMLElement

返回表示地图上命名窗格的 HTMLElement。如果省略 name,则返回此图层的窗格。

getAttribution() String

attribution control 使用,返回 attribution option

方法 返回值 描述
bindPopup(<字符串|HTMLElement|函数|弹出窗口> content, <Popup 选项> options?) this

使用传递的 content 将弹出窗口绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindPopup() this

移除先前使用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 或默认的弹出窗口锚点处打开绑定的弹出窗口(如果未传递 latlng)。

closePopup() this

关闭绑定到此图层的弹出窗口(如果已打开)。

togglePopup() this

根据其当前状态打开或关闭绑定到此图层的弹出窗口。

isPopupOpen() 布尔值

如果绑定到此图层的弹出窗口当前已打开,则返回 true

setPopupContent(<字符串|HTMLElement|弹出窗口> content) this

设置绑定到此图层的弹出窗口的内容。

getPopup() 弹出框

返回绑定到此图层的弹出窗口。

方法 返回值 描述
bindTooltip(<字符串|HTMLElement|函数|工具提示> content, <Tooltip 选项> options?) this

使用传递的 content 将工具提示绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindTooltip() this

移除先前使用 bindTooltip 绑定的工具提示。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 或默认的工具提示锚点处打开绑定的工具提示(如果未传递 latlng)。

closeTooltip() this

关闭绑定到此图层的工具提示(如果已打开)。

toggleTooltip() this

根据其当前状态打开或关闭绑定到此图层的工具提示。

isTooltipOpen() 布尔值

如果绑定到此图层的工具提示当前已打开,则返回 true

setTooltipContent(<字符串|HTMLElement|工具提示> content) this

设置绑定到此图层的工具提示的内容。

getTooltip() 工具提示

返回绑定到此图层的工具提示。

方法 返回值 描述
on(<String> type, <Function> fn, <Object> context?) this

将监听函数 (fn) 添加到对象的特定事件类型。您可以选择指定监听器的上下文(this 关键字指向的对象)。您也可以传递多个用空格分隔的类型(例如 'click dblclick')。

on(<Object> eventMap) this

添加一组类型/监听器对,例如 {click: onClick, mousemove: onMouseMove}

off(<String> type, <Function> fn?, <Object> context?) this

删除先前添加的监听函数。如果没有指定函数,它将从对象中删除该特定事件的所有监听器。请注意,如果您为 on 传递了自定义上下文,则必须将相同的上下文传递给 off 才能删除监听器。

off(<Object> eventMap) this

删除一组类型/监听器对。

off() this

删除对象上所有事件的所有监听器。这包括隐式附加的事件。

fire(<String> type, <Object> data?, <Boolean> propagate?) this

触发指定类型的事件。您可以选择提供一个数据对象 - 监听函数的第一个参数将包含其属性。事件可以可选地传播到事件父级。

listens(<String> type, <Boolean> propagate?) 布尔值

如果特定事件类型有任何监听器附加到它,则返回 true。验证可以选择传播,如果父级有监听器附加到它,它将返回 true

once() this

on(…) 相同,但监听器只会被触发一次,然后被移除。

addEventParent(<Evented> obj) this

添加一个事件父级 - 一个 Evented,它将接收传播的事件

removeEventParent(<Evented> obj) this

删除一个事件父级,这样它将停止接收传播的事件

addEventListener() this

on(…) 的别名

removeEventListener() this

off(…) 的别名

clearAllEventListeners() this

off() 的别名

addOneTimeEventListener() this

once(…) 的别名

fireEvent() this

fire(…) 的别名

hasEventListeners() 布尔值

listens(…) 的别名

控件

L.Control 是实现地图控件的基类。处理定位。所有其他控件都扩展自此类。

选项

选项 类型 默认值 描述
position String 'topright' 控件的位置(地图的其中一个角)。可能的值为 'topleft''topright''bottomleft''bottomright'

方法

扩展 L.Control 的类将继承以下方法
方法 返回值 描述
getPosition() string

返回控件的位置。

setPosition(<string> position) this

设置控件的位置。

getContainer() HTMLElement

返回包含控件的 HTMLElement。

addTo(<地图> 地图) this

将控件添加到给定的地图。

remove() this

从当前处于活动状态的地图中删除控件。

扩展方法

每个控件都应该扩展自 L.Control 并(重新)实现以下方法。
方法 返回值 描述
onAdd(<地图> 地图) HTMLElement

应该返回控件的容器 DOM 元素,并在相关地图事件上添加监听器。在 control.addTo(map) 上调用。

onRemove(<地图> 地图)

可选方法。应该包含所有清理代码,这些代码会移除之前在 onAdd 中添加的监听器。在 control.remove() 上调用。

处理程序

地图交互处理程序的抽象类

方法

方法 返回值 描述
enable() this

启用处理程序

disable() this

禁用处理程序

enabled() 布尔值

如果处理程序已启用,则返回 true

扩展方法

Handler 继承的类必须实现以下两个方法
方法 返回值 描述
addHooks()

当处理程序启用时调用,应该添加事件挂钩。

removeHooks()

当处理程序禁用时调用,应该移除之前添加的事件挂钩。

函数

有一个静态函数,可以在不实例化 L.Handler 的情况下调用

函数 返回值 描述
addTo(<地图> 地图, <String> name) this 使用给定名称将新的 Handler 添加到给定地图。

投影

一个包含将世界地理坐标投影到平面表面(以及反向投影)的方法的对象。请参阅 地图投影

方法

方法 返回值 描述
project(<LatLng> latlng)

将地理坐标投影到 2D 点。仅接受实际的 L.LatLng 实例,不接受数组。

unproject(<Point> point) LatLng

project 的反向操作。将 2D 点投影到地理位置。仅接受实际的 L.Point 实例,不接受数组。

请注意,投影实例没有继承自 Leaflet 的 Class 对象,并且无法实例化。此外,新的类无法继承自它们,并且无法使用 include 函数向它们添加方法。

属性

属性 类型 描述
bounds 边界 投影有效的边界(以 CRS 单位指定)

定义的投影

Leaflet 自带了一组预定义的投影
投影 描述
L.Projection.LonLat 等矩形或 Plate Carree 投影 - 最简单的投影,主要用于 GIS 爱好者。直接将 x 映射为经度,将 y 映射为纬度。也适用于平面世界,例如游戏地图。由 EPSG:4326Simple CRS 使用。
L.Projection.Mercator 椭圆墨卡托投影 - 比球面墨卡托投影更复杂。假设地球是一个椭球体。由 EPSG:3395 CRS 使用。
L.Projection.SphericalMercator 球面墨卡托投影 - 在线地图最常用的投影,几乎所有免费和商业瓦片提供商都使用它。假设地球是一个球体。由 EPSG:3857 CRS 使用。

CRS

方法

方法 返回值 描述
latLngToPoint(<LatLng> latlng, <Number> zoom)

将地理坐标投影到给定缩放级别的像素坐标。

pointToLatLng(<Point> point, <Number> zoom) LatLng

latLngToPoint 的反向操作。将给定缩放级别的像素坐标投影到地理坐标。

project(<LatLng> latlng)

将地理坐标投影到此 CRS 接受的单位坐标(例如,EPSG:3857 的米,用于传递给 WMS 服务)。

unproject(<Point> point) LatLng

给定投影坐标,返回相应的 LatLng。project 的反向操作。

scale(<Number> zoom) 数字

返回将投影坐标转换为给定缩放级别的像素坐标时使用的比例。例如,它返回基于墨卡托的 CRS 的 256 * 2^zoom

zoom(<Number> scale) 数字

scale() 的反向操作,返回与 scale 比例因子相对应的缩放级别。

getProjectedBounds(<Number> zoom) 边界

返回投影的边界,根据提供的 zoom 进行缩放和转换。

distance(<LatLng> latlng1, <LatLng> latlng2) 数字

返回两个地理坐标之间的距离。

wrapLatLng(<LatLng> latlng) LatLng

返回一个 LatLng,其中 lat 和 lng 已根据 CRS 的 wrapLatwrapLng 属性进行包裹,如果它们超出了 CRS 的边界。

wrapLatLngBounds(<LatLngBounds> bounds) LatLngBounds

返回一个 LatLngBounds,其大小与给定的大小相同,确保其中心在 CRS 的边界内。仅接受实际的 L.LatLngBounds 实例,不接受数组。

属性

属性 类型 描述
code String 传递给 WMS 服务的 CRS 的标准代码名称(例如 'EPSG:3857'
wrapLng Number[] 一个包含两个数字的数组,定义经度(水平)坐标轴是否围绕给定范围进行环绕,以及如何环绕。在大多数地理 CRS 中默认为 [-180, 180]。如果为 undefined,则经度轴不会环绕。
wrapLat Number[] wrapLng 相同,但适用于纬度(垂直)轴。
infinite 布尔值 如果为 true,则坐标空间将是无界的(在两个轴上都是无限的)

定义的 CRS

CRS 描述
L.CRS.Earth 用作全球 CRS 的基础,这些 CRS 覆盖地球。只能用作其他 CRS 的基础,不能直接使用,因为它没有 codeprojectiontransformationdistance() 返回米。
L.CRS.EPSG3395 很少被一些商业瓦片提供商使用。使用椭圆墨卡托投影。
L.CRS.EPSG3857 在线地图最常用的 CRS,几乎所有免费和商业瓦片提供商都使用它。使用球面墨卡托投影。默认情况下在 Map 的 crs 选项中设置。
L.CRS.EPSG4326 GIS 爱好者中常用的 CRS。使用简单的等矩形投影。

Leaflet 1.0.x 符合 EPSG:4326 的 TMS 坐标方案,这是一个与 0.7.x 行为不兼容的更改。如果您正在使用此 CRS 的 TileLayer,请确保有两个 256x256 像素的瓦片在缩放级别 0 覆盖整个地球,并且瓦片坐标原点为 (-180,+90),或者对于 TileLayertms 选项 设置为 (-180,-90)。

L.CRS.Base 定义坐标参考系的对象,用于将地理点投影到像素(屏幕)坐标和反向投影(以及投影到其他单位坐标,用于 WMS 服务)。请参阅 空间参考系

Leaflet 默认定义了最常用的 CRS。如果您想使用未定义的 CRS,请查看 Proj4Leaflet 插件。

请注意,CRS 实例没有继承自 Leaflet 的 Class 对象,并且无法实例化。此外,新的类无法继承自它们,并且无法使用 include 函数向它们添加方法。

L.CRS.Simple 一个简单的 CRS,它将经度和纬度直接映射到 xy。可用于平面表面的地图(例如游戏地图)。请注意,y 轴仍然应该反转(从底部到顶部)。distance() 返回简单的欧几里得距离。

渲染器

矢量渲染器实现 (SVGCanvas) 的基类。处理渲染器的 DOM 容器、其边界及其缩放动画。

Renderer 用作所有 Path 的隐式图层组 - 渲染器本身可以添加到地图或从地图中移除。所有路径都使用渲染器,它可以是隐式的(地图将决定渲染器类型并自动使用它)或显式的(使用路径的 renderer 选项)。

不要直接使用此类,请改用 SVGCanvas

选项

选项 类型 默认值 描述
padding 数字 0.1 地图视图周围的剪切区域要扩展多少(相对于其大小),例如 0.1 表示每个方向扩展地图视图的 10%
选项 类型 默认值 描述
pane String 'overlayPane' 默认情况下,图层将被添加到地图的 叠加面板。覆盖此选项将导致图层默认情况下放置在另一个面板上。
attribution String null 要显示在归属控件中的字符串,例如 "© OpenStreetMap 贡献者"。它描述了图层数据,通常是针对版权持有者和瓦片提供者的法律义务。

事件

事件 数据 描述
返回覆盖层的 HTML 容器。 事件 当渲染器更新其范围、中心点和缩放级别时触发,例如当其地图移动时。
事件 数据 描述
添加 事件 图层添加到地图后触发
remove 事件 图层从地图中移除后触发
事件 数据 描述
popupopen PopupEvent 绑定到此图层的弹出窗口打开时触发
popupclose PopupEvent 绑定到此图层的弹出窗口关闭时触发
事件 数据 描述
tooltipopen TooltipEvent 绑定到此图层的工具提示打开时触发。
tooltipclose TooltipEvent 绑定到此图层的工具提示关闭时触发。

方法

方法 返回值 描述
addTo(<地图|图层组> 地图) this

将图层添加到给定的地图或图层组。

remove() this

从图层当前处于活动状态的地图中移除图层。

removeFrom(<地图> 地图) this

从给定的地图中移除图层

removeFrom(<图层组> ) this

从给定的 图层组 中移除图层

getPane(<String> 名称?) HTMLElement

返回表示地图上命名窗格的 HTMLElement。如果省略 name,则返回此图层的窗格。

getAttribution() String

attribution control 使用,返回 attribution option

方法 返回值 描述
bindPopup(<字符串|HTMLElement|函数|弹出窗口> content, <Popup 选项> options?) this

使用传递的 content 将弹出窗口绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindPopup() this

移除先前使用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 或默认的弹出窗口锚点处打开绑定的弹出窗口(如果未传递 latlng)。

closePopup() this

关闭绑定到此图层的弹出窗口(如果已打开)。

togglePopup() this

根据其当前状态打开或关闭绑定到此图层的弹出窗口。

isPopupOpen() 布尔值

如果绑定到此图层的弹出窗口当前已打开,则返回 true

setPopupContent(<字符串|HTMLElement|弹出窗口> content) this

设置绑定到此图层的弹出窗口的内容。

getPopup() 弹出框

返回绑定到此图层的弹出窗口。

方法 返回值 描述
bindTooltip(<字符串|HTMLElement|函数|工具提示> content, <Tooltip 选项> options?) this

使用传递的 content 将工具提示绑定到图层,并设置必要的事件监听器。如果传递的是 Function,则它将接收图层作为第一个参数,并应返回一个 StringHTMLElement

unbindTooltip() this

移除先前使用 bindTooltip 绑定的工具提示。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 或默认的工具提示锚点处打开绑定的工具提示(如果未传递 latlng)。

closeTooltip() this

关闭绑定到此图层的工具提示(如果已打开)。

toggleTooltip() this

根据其当前状态打开或关闭绑定到此图层的工具提示。

isTooltipOpen() 布尔值

如果绑定到此图层的工具提示当前已打开,则返回 true

setTooltipContent(<字符串|HTMLElement|工具提示> content) this

设置绑定到此图层的工具提示的内容。

getTooltip() 工具提示

返回绑定到此图层的工具提示。

方法 返回值 描述
on(<String> type, <Function> fn, <Object> context?) this

将监听函数 (fn) 添加到对象的特定事件类型。您可以选择指定监听器的上下文(this 关键字指向的对象)。您也可以传递多个用空格分隔的类型(例如 'click dblclick')。

on(<Object> eventMap) this

添加一组类型/监听器对,例如 {click: onClick, mousemove: onMouseMove}

off(<String> type, <Function> fn?, <Object> context?) this

删除先前添加的监听函数。如果没有指定函数,它将从对象中删除该特定事件的所有监听器。请注意,如果您为 on 传递了自定义上下文,则必须将相同的上下文传递给 off 才能删除监听器。

off(<Object> eventMap) this

删除一组类型/监听器对。

off() this

删除对象上所有事件的所有监听器。这包括隐式附加的事件。

fire(<String> type, <Object> data?, <Boolean> propagate?) this

触发指定类型的事件。您可以选择提供一个数据对象 - 监听函数的第一个参数将包含其属性。事件可以可选地传播到事件父级。

listens(<String> type, <Boolean> propagate?) 布尔值

如果特定事件类型有任何监听器附加到它,则返回 true。验证可以选择传播,如果父级有监听器附加到它,它将返回 true

once() this

on(…) 相同,但监听器只会被触发一次,然后被移除。

addEventParent(<Evented> obj) this

添加一个事件父级 - 一个 Evented,它将接收传播的事件

removeEventParent(<Evented> obj) this

删除一个事件父级,这样它将停止接收传播的事件

addEventListener() this

on(…) 的别名

removeEventListener() this

off(…) 的别名

clearAllEventListeners() this

off() 的别名

addOneTimeEventListener() this

once(…) 的别名

fireEvent() this

fire(…) 的别名

hasEventListeners() 布尔值

listens(…) 的别名

事件对象

每当继承自 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 触发此 Leaflet 事件的原始 DOM KeyboardEvent
属性 类型 描述
type String 事件类型(例如 'click')。
target Object 触发事件的对象。对于传播事件,它是传播链中最后触发事件的对象。
sourceTarget Object 最初触发事件的对象。对于非传播事件,这将与 target 相同。
propagatedFrom Object 对于传播事件,它是将事件传播到其事件父级的最后一个对象。
layer Object 已弃用。propagatedFrom 相同。

MouseEvent

属性 类型 描述
latlng LatLng 鼠标事件发生的地理点。
layerPoint 鼠标事件发生的点的像素坐标,相对于地图图层。
containerPoint 鼠标事件发生的点的像素坐标,相对于地图容器。
originalEvent DOMEvent 触发此 Leaflet 事件的原始 DOM MouseEventDOM TouchEvent
属性 类型 描述
type String 事件类型(例如 'click')。
target Object 触发事件的对象。对于传播事件,它是传播链中最后触发事件的对象。
sourceTarget Object 最初触发事件的对象。对于非传播事件,这将与 target 相同。
propagatedFrom Object 对于传播事件,它是将事件传播到其事件父级的最后一个对象。
layer Object 已弃用。propagatedFrom 相同。

LocationEvent

属性 类型 描述
latlng LatLng 检测到的用户的地理位置。
bounds LatLngBounds 用户所在区域的地理边界(相对于位置精度)。
accuracy 数字 位置精度,以米为单位。
altitude 数字 位置相对于 WGS84 椭球的高度,以米为单位。
altitudeAccuracy 数字 高度精度,以米为单位。
heading 数字 行进方向,以度为单位,从真北顺时针计算。
speed 数字 当前速度,以米/秒为单位。
timestamp 数字 获取位置的时间。
属性 类型 描述
type String 事件类型(例如 'click')。
target Object 触发事件的对象。对于传播事件,它是传播链中最后触发事件的对象。
sourceTarget Object 最初触发事件的对象。对于非传播事件,这将与 target 相同。
propagatedFrom Object 对于传播事件,它是将事件传播到其事件父级的最后一个对象。
layer Object 已弃用。propagatedFrom 相同。

ErrorEvent

属性 类型 描述
message String 错误消息。
code 数字 错误代码(如果适用)。
属性 类型 描述
type String 事件类型(例如 'click')。
target Object 触发事件的对象。对于传播事件,它是传播链中最后触发事件的对象。
sourceTarget Object 最初触发事件的对象。对于非传播事件,这将与 target 相同。
propagatedFrom Object 对于传播事件,它是将事件传播到其事件父级的最后一个对象。
layer Object 已弃用。propagatedFrom 相同。

LayerEvent

属性 类型 描述
layer 图层 添加或移除的图层。
属性 类型 描述
type String 事件类型(例如 'click')。
target Object 触发事件的对象。对于传播事件,它是传播链中最后触发事件的对象。
sourceTarget Object 最初触发事件的对象。对于非传播事件,这将与 target 相同。
propagatedFrom Object 对于传播事件,它是将事件传播到其事件父级的最后一个对象。

LayersControlEvent

属性 类型 描述
layer 图层 添加或移除的图层。
name String 添加或删除的图层名称。
属性 类型 描述
type String 事件类型(例如 'click')。
target Object 触发事件的对象。对于传播事件,它是传播链中最后触发事件的对象。
sourceTarget Object 最初触发事件的对象。对于非传播事件,这将与 target 相同。
propagatedFrom Object 对于传播事件,它是将事件传播到其事件父级的最后一个对象。

TileEvent

属性 类型 描述
tile HTMLElement 瓦片元素(图像)。
coords 包含瓦片 xyz(缩放级别)坐标的点对象。
属性 类型 描述
type String 事件类型(例如 'click')。
target Object 触发事件的对象。对于传播事件,它是传播链中最后触发事件的对象。
sourceTarget Object 最初触发事件的对象。对于非传播事件,这将与 target 相同。
propagatedFrom Object 对于传播事件,它是将事件传播到其事件父级的最后一个对象。
layer Object 已弃用。propagatedFrom 相同。

TileErrorEvent

属性 类型 描述
tile HTMLElement 瓦片元素(图像)。
coords 包含瓦片 xyz(缩放级别)坐标的点对象。
error * 传递给瓦片 done() 回调的错误。
属性 类型 描述
type String 事件类型(例如 'click')。
target Object 触发事件的对象。对于传播事件,它是传播链中最后触发事件的对象。
sourceTarget Object 最初触发事件的对象。对于非传播事件,这将与 target 相同。
propagatedFrom Object 对于传播事件,它是将事件传播到其事件父级的最后一个对象。
layer Object 已弃用。propagatedFrom 相同。

ResizeEvent

属性 类型 描述
oldSize 调整大小事件之前的旧大小。
newSize 调整大小事件之后的新大小。
属性 类型 描述
type String 事件类型(例如 'click')。
target Object 触发事件的对象。对于传播事件,它是传播链中最后触发事件的对象。
sourceTarget Object 最初触发事件的对象。对于非传播事件,这将与 target 相同。
propagatedFrom Object 对于传播事件,它是将事件传播到其事件父级的最后一个对象。
layer Object 已弃用。propagatedFrom 相同。

GeoJSONEvent

属性 类型 描述
layer 图层 要添加到地图的 GeoJSON 特征的图层。
properties Object 特征的 GeoJSON 属性。
geometryType String 特征的 GeoJSON 几何类型。
id String 特征的 GeoJSON ID(如果存在)。
属性 类型 描述
type String 事件类型(例如 'click')。
target Object 触发事件的对象。对于传播事件,它是传播链中最后触发事件的对象。
sourceTarget Object 最初触发事件的对象。对于非传播事件,这将与 target 相同。
propagatedFrom Object 对于传播事件,它是将事件传播到其事件父级的最后一个对象。

PopupEvent

属性 类型 描述
popup 弹出框 打开或关闭的弹出窗口。
属性 类型 描述
type String 事件类型(例如 'click')。
target Object 触发事件的对象。对于传播事件,它是传播链中最后触发事件的对象。
sourceTarget Object 最初触发事件的对象。对于非传播事件,这将与 target 相同。
propagatedFrom Object 对于传播事件,它是将事件传播到其事件父级的最后一个对象。
layer Object 已弃用。propagatedFrom 相同。

TooltipEvent

属性 类型 描述
tooltip 工具提示 打开或关闭的工具提示。
属性 类型 描述
type String 事件类型(例如 'click')。
target Object 触发事件的对象。对于传播事件,它是传播链中最后触发事件的对象。
sourceTarget Object 最初触发事件的对象。对于非传播事件,这将与 target 相同。
propagatedFrom Object 对于传播事件,它是将事件传播到其事件父级的最后一个对象。
layer Object 已弃用。propagatedFrom 相同。

DragEndEvent

属性 类型 描述
distance 数字 可拖动元素移动的像素距离。
属性 类型 描述
type String 事件类型(例如 'click')。
target Object 触发事件的对象。对于传播事件,它是传播链中最后触发事件的对象。
sourceTarget Object 最初触发事件的对象。对于非传播事件,这将与 target 相同。
propagatedFrom Object 对于传播事件,它是将事件传播到其事件父级的最后一个对象。
layer Object 已弃用。propagatedFrom 相同。

ZoomAnimEvent

属性 类型 描述
center LatLng 地图的当前中心。
zoom 数字 地图的当前缩放级别。
noUpdate 布尔值 由于此事件,图层是否应该更新其内容。
属性 类型 描述
type String 事件类型(例如 'click')。
target Object 触发事件的对象。对于传播事件,它是传播链中最后触发事件的对象。
sourceTarget Object 最初触发事件的对象。对于非传播事件,这将与 target 相同。
propagatedFrom Object 对于传播事件,它是将事件传播到其事件父级的最后一个对象。
layer Object 已弃用。propagatedFrom 相同。

全局开关

全局开关是为罕见情况创建的,通常会导致 Leaflet 不检测特定浏览器功能,即使该功能存在。您需要在页面上包含 Leaflet 之前将开关设置为全局变量为 true,如下所示

<script>L_NO_TOUCH = true;</script>
<script src="leaflet.js"></script>
开关 描述
L_NO_TOUCH 强制 Leaflet 不使用触摸事件,即使它检测到它们。
L_DISABLE_3D 强制 Leaflet 不使用硬件加速的 CSS 3D 变换进行定位(这可能会在某些罕见的环境中导致故障),即使它们受支持。

noConflict

此方法将 L 全局变量恢复为 Leaflet 包含之前它所具有的原始值,并返回真正的 Leaflet 命名空间,以便您可以将其放置在其他位置,如下所示

<script src='libs/l.js'>
<!-- L points to some other library -->

<script src='leaflet.js'>
<!-- you include Leaflet, it replaces the L variable to Leaflet namespace -->

<script>
var Leaflet = L.noConflict();
// now L points to that other library again, and you can use Leaflet.Map etc.
</script>

版本

代表正在使用的 Leaflet 版本的常量。

L.version; // contains "1.0.0" (or whatever version is currently in use)