Leaflet

一个开源并且对移动端友好的
交互式地图 JavaScript 库

Leaflet API 文档

当前正在使用 Leaflet 中文文档。 如果当前文档版本与你使用的版本不一致,请点击并查看此列表

地图

API 的核心类 — 它用来在页面中创建并操作地图。

使用示例

// 使用 id 为 map 的 div 容器初始化地图,同时指定地图的中心点和缩放级别
var map = L.map('map', {
	center: [51.505, -0.09],
	zoom: 13
});

创建对象

工厂函数 说明
L.map(<String> id, <Map options> options?) 在一个指定 id 的 div 元素中初始化地图并设置相关参数。
L.map(<HTMLElement> el, <Map options> options?) 在一个 div 实例中初始化地图并设置相关参数。

Options 选项

选项 类型 默认值 说明
preferCanvas Boolean false 是否使用 Canvas 来渲染 Path(路径).默认情况下,所有 Path 都是使用 SVG 进行渲染。

控件选项

选项 类型 默认值 说明
attributionControl Boolean true 默认情况下,是否将 attribution 版权控件添加到地图中。
zoomControl Boolean true 默认情况下,是否将 zoom 缩放控件添加到地图中。

交互选项

选项 类型 默认值 说明
closePopupOnClick Boolean true 如果你不希望用户点击地图时 popups(弹出窗口)自动关闭,则可以将其设置为 false。
zoomSnap Number 1 强制让地图的缩放级别始终为这个值的倍数,特别是在 fitBounds() 或 pinch-zoom 后。默认情况下,缩放级别将是其最接近的整数; 较低的值(例如 0.5 or 0.1)允许更大的颗粒度。数值 0 意味着缩放级别将不会被 fitBounds 或 pinch-zoom。
zoomDelta Number 1 控件在进行 zoomIn()zoomOut() 以及按 + - 键或者使用 zoom 进行缩放之后,地图缩放级别改变的值。小于 1 的值(例如 0.5)允许更大的颗粒度。
trackResize Boolean true 地图是否会自动根据浏览器窗口的大小来更新自己。
boxZoom Boolean true 是否可以在按住 shift 键的同时拖动鼠标将地图缩放到指定的矩形区域。
doubleClickZoom Boolean|String true 地图是否可以通过双击来放大,以及在按住 shift 的同时双击来缩小。如果设置为 'center',不管鼠标在哪里,双击缩放都将缩放到视图的中心。
dragging Boolean true 地图是否可以通过 mouse/touch 进行拖动。

地图状态选项

选项 类型 默认值 说明
crs CRS L.CRS.EPSG3857 该地图使用的坐标系。如果你不确定坐标系这是什么意思,请不要更改它。
center LatLng undefined 地图初始化时的中心点位置
zoom Number undefined 地图初始化时的缩放等级
minZoom Number * 地图的最小缩放级别。 如果未指定,并且地图中至少有一个 GridLayerTileLayer,则将使用其最低的 minZoom 选项。
maxZoom Number * 地图的最大缩放级别。 如果未指定,并且地图中至少有一个 GridLayerTileLayer,则将使用其最大的 maxZoom 选项。
layers Layer[] [] 默认添加到地图上的图层组
maxBounds LatLngBounds null 当这个选项被设置后,地图将被限制在指定的地理边界内, 当用户平移将地图拖动到视图以外的范围时会出现弹回的效果, 并且也不允许缩小视图到指定范围以外的区域(这取决于地图的尺寸). 要动态设置此限制,请使用 setMaxBounds 方法。
renderer Renderer * 在地图上绘制矢量图层的默认方法,默认为 L.SVGL.Canvas, 这取决于浏览器是否支持。

动画选项

选项 类型 默认值 说明
zoomAnimation Boolean true 是否启用地图缩放动画。默认情况下,它在所有支持 CSS3 Transitions 的浏览器中都是启用的,Android 除外。
zoomAnimationThreshold Number 4 如果缩放差异超过此值,则不会为缩放设置动画。
fadeAnimation Boolean true 是否启用淡出淡出动画。默认情况下,它在所有支持 CSS3 Transitions 的浏览器中都是启用的,Android 除外。
markerZoomAnimation Boolean true Marker 标记是否使用缩放动画进行缩放。默认情况下,它在所有支持 CSS3 Transitions 的浏览器中都是启用的,Android 除外。
transform3DLimit Number 2^23 定义了 CSS 转换的最大尺寸。默认值不应该被改变,除非网页浏览器在做了一个大的 panBy 后将层定位在错误的地方。

Panning Inertia 选项

选项 类型 默认值 说明
inertia Boolean * 如果启用,地图的平移会有一种惯性效应,即地图在拖动时形成动力,并在一段时间内继续向同一方向移动。在触摸设备上感觉特别好。除非在旧的 Android 设备上运行,否则默认情况下是启用的。
inertiaDeceleration Number 3000 惯性运动减速的速度, 以像素/秒²单位。
inertiaMaxSpeed Number Infinity 惯性运动的最大速度,以像素/秒为单位。
easeLinearity Number 0.2
worldCopyJump Boolean false 启用该选项后,当你平移到世界的另一个 "copy" 时,地图会跟踪并无缝跳转到原来的副本,这样所有的覆盖物如 markers(标记)和 vector layers(矢量图层)都仍然可见。
maxBoundsViscosity Number 0.0 如果设置了 maxBounds,这个选项将控制拖动地图时边界的稳固程度。默认值为 0.0,允许用户以正常速度在界外拖动,更高的值会减慢地图在界外的拖动速度,而 1.0 使界外完全稳固,防止用户在界外拖动。

按键导航选项

选项 类型 默认值 说明
keyboard Boolean true 地图是否获得焦点,并且允许用户通过键盘和 +/- 来进行浏览地图。
keyboardPanDelta Number 80 按下方向键时,平移的像素数量。

鼠标选项

选项 类型 默认值 说明
scrollWheelZoom Boolean|String true 地图是否允许通过使用鼠标滚轮进行缩放。如果通过'center',不管鼠标在哪里,都将会放大到视图的中心。
wheelDebounceTime Number 40 限制滚轮的触发速度(以毫秒为单位)。默认情况下,用户通过滚轮缩放的次数不能超过每 40 毫秒一次。
wheelPxPerZoomLevel Number 60 多少滚动像素(由 L.DomEvent.getWheelDelta 报告)意味着一个完整缩放级别的更改。 较小的值将使滚轮变焦更快(反之亦然)

触摸交互选项

选项 类型 默认值 说明
tapHold Boolean 是否启用 mobile hacks 以支持 taps(在 iOS / Android上 修复 200ms 点击延迟)和 touch(触发 contextmenu 事件)。
tapTolerance Number 15 用户在触摸时,移动手指的像素数超过此值时被认为是有效的 tap。
touchZoom Boolean|String * 地图是否允许通过两根手指的触摸拖动进行缩放。如果通过 'center',就会放大到视图的中心,而不管 touch 事件(手指)在哪里。除了老式的 Android 系统外,对具有 touch-capable 功能的网络浏览器来说是启用的。
bounceAtZoomLimits Boolean true 如果您不希望在地图缩放超过最小/最大缩放范围时反弹,请将其设置为 false。

事件

图层事件

事件名 数据 说明
baselayerchange LayersControlEvent 通过图层控件更改基本图层时触发。
overlayadd LayersControlEvent 通过图层控件选择叠加图层时触发。
overlayremove LayersControlEvent 通过图层控件取消选择叠加图层时触发。
layeradd LayerEvent 将新图层添加到地图时触发。
layerremove LayerEvent 从地图上删除某些图层时触发

地图状态变更事件

事件名 数据 说明
zoomlevelschange Event 当地图上的缩放级别数因添加或移除图层而更改时触发。
resize ResizeEvent 调整地图大小时触发。
unload Event 当使用 remove 方法销毁地图时触发。
viewreset Event 当地图需要重绘其内容时触发(通常发生在地图缩放或加载时)。 对于创建 custom overlays 非常有用。
load Event 地图初始化时触发(首次设置其中心和缩放比例时)。
zoomstart Event 地图缩放即将更改时(例如在缩放动画之前)触发。
movestart Event 当地图视图开始更改时触发(例如,用户开始拖动地图)。
zoom Event 在缩放级别的任何更改(包括缩放和飞行动画)期间反复触发。
move Event 在地图的任何移动过程中反复触发,包括平移和飞行动画。
zoomend Event 在任何动画执行完毕地图更新后都会触发。
moveend Event 地图中心停止更改时触发(例如,用户停止拖动地图)。

Popup 弹窗事件

事件名 数据 说明
popupopen PopupEvent 在地图上打开 popup(弹出窗口)时触发。
popupclose PopupEvent 当地图中的 popup(弹出窗口)关闭时触发。
autopanstart Event 打开 popup(弹出窗口)时地图开始自动平移时触发。

Tooltip 工具提示事件

事件名 数据 说明
tooltipopen TooltipEvent 在地图上打开 tooltip(工具提示)时触发。
tooltipclose TooltipEvent 地图中的 tooltip(工具提示)关闭时触发。

Location 定位相关事件

事件名 数据 说明
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) Renderer

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

图层和控件

方法名 返回值 说明
addControl(<Control> control) this

添加控件到地图上

removeControl(<Control> control) this

从地图上移除一个指定的控件

addLayer(<Layer> layer) this

添加图层到地图上

removeLayer(<Layer> layer) this

从地图上移除一个指定的图层

hasLayer(<Layer> layer) Boolean

地图上是否存在指定的图层,如果给定的图层当前已被加到地图上,则返回 true

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

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

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

打开指定的 Popup(弹窗)。(如果之前有打开其他的,会自动关闭,确保只有一个)

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

创建指定的内容和选项的 Popup(弹窗),并在地图上的指定点打开它。

closePopup(<Popup> popup?) this

关闭之前打开的(或给定某个)Popup (弹窗)。

openTooltip(<Tooltip> tooltip) this

打开指定的 Tooltip(提示框)。

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

创建并打开具有指定内容和选项的 Tooltip(提示框)。

closeTooltip(<Tooltip> tooltip) this

关闭之前打开的(或给定某个)Tooltip(提示框)。

修改地图状态

方法名 返回值 说明
setView(<LatLng> center, <Number> zoom, <Zoom/pan options> options?) this

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

setZoom(<Number> zoom, <Zoom/pan options> options?) this

设置地图的缩放级别。

zoomIn(<Number> delta?, <Zoom options> options?) this

放大地图级别 ( delta 为空时,默认值取自 zoomDelta )。

zoomOut(<Number> delta?, <Zoom options> options?) this

缩小地图级别 ( delta 为空时,默认值取自 zoomDelta )。

setZoomAround(<LatLng> latlng, <Number> zoom, <Zoom options> options) this

缩放地图,同时保持地图上的指定地理位置不变(例如内部用于滚动缩放和双击缩放)。

setZoomAround(<Point> offset, <Number> zoom, <Zoom options> options) this

缩放地图,同时保持地图上相对于左上角的指定像素位置不变。

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

将地图的视图设置在给定的矩形地理范围内,地图会自动计算最大缩放级别和中心点。

fitWorld(<fitBounds options> options?) this

设置一个包含整个世界的地图视图,其缩放级别为最大。

panTo(<LatLng> latlng, <Pan options> options?) this

将地图平移到一个指定的中心点。

panBy(<Point> offset, <Pan options> options?) this

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

flyTo(<LatLng> latlng, <Number> zoom?, <Zoom/pan options> options?) this

执行一个平滑的平移-缩放动画,移动缩放地图范围至指定的地理中心和级别。

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

设置地图的视图,并且它具有像 flyTo 一样的平滑动画,但需要一个像 fitBounds 一样的边界参数。

setMaxBounds(<LatLngBounds> bounds) this

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

setMinZoom(<Number> zoom) this

设置地图最小缩放级别 (参考 minZoom 参数选项)。

setMaxZoom(<Number> zoom) this

设置地图最大缩放级别 (参考 maxZoom 参数选项)。

panInsideBounds(<LatLngBounds> bounds, <Pan options> options?) this

将地图平移到离给定边界最近的视图(如果还没有的话),如果有的话,用特定的选项控制动画。

panInside(<LatLng> latlng, <padding options> options?) this

平移地图的最小数量以使 latlng 可见。 使用padding,paddingTopLeft和paddingTopRight选项可以使显示适合更严格的边界,例如fitBounds。 如果latlng已经位于显示边界内(可选填充),则不会平移地图。

invalidateSize(<Zoom/pan options> options) this

检查地图容器的大小是否发生变化,如果发生变化则更新地图--在你动态改变地图大小后调用它,默认情况下也会发生平移动画。如果 options.pan 为 false,将不会发生平移。如果 options.debounceMoveend 为 true,它将延迟 moveend 事件,这样即使该方法被连续调用多次,也不会经常发生。

invalidateSize(<Boolean> animate) this

检查地图容器的大小是否改变,如果改变则更新地图--在你动态改变地图大小后调用它,默认情况下也会为平移设置动画。

stop() this

如果有的话,则停止当前运行 panTo 或 flyTo 动画。

地理定位

方法名 返回值 说明
locate(<Locate options> options?) this

尝试使用 Geolocation API 定位用户,成功时触发带有位置数据的 locationfound 事件,失败时触发 locationerror 事件,并可选择将地图视图设置为与检测精度有关的用户位置(如果地理定位失败则设置为世界视图)。注意,如果你的页面没有使用HTTPS,这个方法在现代浏览器中会失败(Chrome 50 及更高版本)更多细节请参阅 Locate options

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

如果给定名称不存在,则创建一个新的map pane,然后将其返回。 该窗格被创建为容器的子级,或者被创建为主地图窗格的子级(如果未设置)。

getPane(<String|HTMLElement> pane) HTMLElement

返回一个地图窗口 map pane,给它一个名称或者 HTML 的节点。

getPanes() Object

返回一个普通对象,其中包含所有窗格的名称为键,并将窗格 panes 作为值。

getContainer() HTMLElement

返回一个包含地图的 HTML 节点。

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

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

获取地图状态

方法名 返回值 说明
getCenter() LatLng

返回地图中心点的经纬度

getZoom() Number

返回地图此时的缩放级别

getBounds() LatLngBounds

返回当前地图的矩形边界

getMinZoom() Number

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

getMaxZoom() Number

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

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

返回给定边界与地图视图完全吻合的最大缩放级别。如果 inside(可选)被设置为 true,该方法反而会返回地图视图完全适合给定边界的最小缩放级别。

getSize() Point

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

getPixelBounds() Bounds

返回当前地图视图的投影像素坐标的边界(有时在图层和叠加实现中很有用)。

getPixelOrigin() Point

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

getPixelWorldBounds(<Number> zoom?) Bounds

返回指定缩放级别的世界地图边界的像素坐标。如果 zoom 参数省略,则使用地图的当前缩放级别。

转换

方法名 返回值 说明
getZoomScale(<Number> toZoom, <Number> fromZoom) Number

返回要应用于从缩放级别从缩放到缩放的地图过渡的比例因子。 在内部使用以帮助缩放动画。

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

返回地图最终到达的缩放级别,如果它处于fromZoom 级别,并且所有内容都按比例缩放scale。 getZoomScale 的逆向方法。

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

LatLng 根据地图CRS的投影来 投影地理坐标,然后zoom根据CRS的 尺寸对其进行分级 Transformation 。结果是相对于CRS原点的像素坐标。

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

逆向 project

layerPointToLatLng(<Point> point) LatLng

给定相对于origin pixel的相应像素坐标,转换为相应的地理坐标(对于当前缩放级别)。

latLngToLayerPoint(<LatLng> latlng) Point

给定地理坐标,转换为相对于origin pixel的相应像素坐标。(在地图上进行位置叠加时比较有用)

wrapLatLng(<LatLng> latlng) LatLng

如果它们在CRS的边界之外,则返回一个LatLng,lat并lng根据地图的CRS wrapLat和wrapLng属性进行包装。默认情况下,这意味着经度包裹在数据线周围,所以它的值在-180和+180度之间。

wrapLatLngBounds(<LatLngBounds> bounds) LatLngBounds

返回 LatLngBounds 与给定的大小相同的大小,确保其中心在CRS的边界内。默认情况下,这意味着中心经度被包裹在数据线周围,因此它的值在-180和+180度之间,并且大多数边界与CRS的界限重叠。

distance(<LatLng> latlng1, <LatLng> latlng2) Number

根据地图的参考系来返回两个地理位置之间的距离,默认为米。

containerPointToLayerPoint(<Point> point) Point

给定相对于地图container容器的像素坐标,返回相对于origin pixel的相应像素坐标。

layerPointToContainerPoint(<Point> point) Point

给定相对于origin pixel的像素坐标,返回相对于地图container容器的相应像素坐标。

containerPointToLatLng(<Point> point) LatLng

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

latLngToContainerPoint(<LatLng> latlng) Point

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

mouseEventToContainerPoint(<MouseEvent> ev) Point

给定一个MouseEvent对象,返回相对于发生事件的地图容器的像素坐标(与地图左上角相关)。

mouseEventToLayerPoint(<MouseEvent> ev) Point

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

mouseEventToLatLng(<MouseEvent> ev) LatLng

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

方法名 返回值 说明
on(<String> type, <Function> fn, <Object> context?) this

将 listener 函数(fn)添加到对象的特定事件类型。 您可以选择指定 listener 的上下文(此关键字将指向的对象)。 您还可以传递几种以空格分隔的类型(例如'click dblclick')。

on(<Object> eventMap) this

添加一组 type/listener,例如 {click:onClick,mousemove:onMouseMove}

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

删除以前添加的侦听器功能。 如果未指定功能,它将从对象中删除该特定事件的所有 listener。 请注意,如果将自定义上下文传递给on,则必须将相同的上下文传递给 off 才能删除 listener。

off(<Object> eventMap) this

删除一组 type/listener。

off() this

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

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

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

listens(<String> type, <Boolean> propagate?) Boolean

如果一个特定的事件类型有任何监听器连接到它,则返回 true。验证可以选择性地被传播,如果父级有监听器连接到它,它将返回true

once() this

行为与on(…)相同,除了 listener 只会被触发一次然后被删除。

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() Boolean

listens(…)

Properties 属性

Controls 控件

属性 类型 说明
zoomControl Control.Zoom 默认缩放控件(仅当创建地图时该 zoomControl 选项true)。

Handlers 处理程序

属性 类型 说明
boxZoom Handler 矩形框(使用鼠标按住Shift键并拖动)缩放处理程序
doubleClickZoom Handler 双击缩放处理程序
dragging Handler 地图拖动处理程序(通过鼠标和触摸)
keyboard Handler 键盘导航处理程序
scrollWheelZoom Handler 滚轮缩放处理程序
tapHold Handler 长按处理程序,以模拟 contextmenu 事件(在移动端的 Safari 中很有用)。
touchZoom Handler 触摸地图缩放处理程序

Map panes 地图窗格

窗格是用于控制地图上图层顺序的DOM元素。 您可以使用 map.getPanemap.getPanes 方法访问窗格。 可以使用 map.createPane 方法创建新窗格。 每个地图都有以下默认窗格,它们的唯一区别仅在于 zIndex。
Pane 类型 Z-index 说明
mapPane HTMLElement 'auto' 包含所有其他地图窗格(pane)的窗格(pane)
tilePane HTMLElement 200 GridLayerTileLayer 所在的窗格(panes)。
overlayPane HTMLElement 400 矢量的窗格(pane) (Path, 比如 PolylinePolygon), ImageOverlayVideoOverlay
shadowPane HTMLElement 500 用于的叠加阴影的窗格(pane) (例如: Marker shadows)
markerPane HTMLElement 600 IconMarker 标注所在的窗格
tooltipPane HTMLElement 650 用于 Tooltip 工具提示的窗格(pane)
popupPane HTMLElement 700 用于 Popup 弹出窗口的窗格(pane)

Locate options 定位选项

Map 在一些地理位置方法中使用到的 options 参数。这是一个简单的 JavaScript 对象,其中包含以下可选参数:
选项 类型 默认 说明
watch Boolean false 如果为 true,则开始使用 W3C watchPosition 方法连续观察位置变化(而不是检测一次)。之后你可以使用 map.stopLocate() 方法停止观察。
setView Boolean false 如果为 true,则根据检测精度自动将地图视图设置为用户位置,如果地理定位失败,则自动设置为世界视图。
maxZoom Number Infinity 使用 setView 选项时,自动视图设置的最大缩放。
timeout Number 10000 在触发 locationerror 事件之前等待来自地理位置响应的毫秒数 。
maximumAge Number 0 检测到的位置的最大年龄。如果自上次地理定位响应以来经过的毫秒数少于此毫秒数,locate 则将返回缓存的位置。
enableHighAccuracy Boolean false 启用高精度, 请参阅 W3C 规范中的说明

Zoom options 缩放选项

Map 在一些修改地图缩放等级的方法中使用到的 options 参数。这是一个简单的 JavaScript 对象,其中包含以下可选参数:
选项 类型 默认 说明
animate Boolean 如果未指定并且缩放原点在当前视图内,则会发生缩放动画。如果为 true,地图将尝试动画缩放而不管缩放原点在哪里。设置为 false 将使其始终在没有动画的情况下完全重置视图。

Pan options 平移选项

Map 在一些修改地图中心的方法中使用到的 options 参数。这是一个简单的 JavaScript 对象,其中包含以下可选参数:
选项 类型 默认 说明
animate Boolean 如果为 true 并且可能的话,平移将始终执行动画。如果为 false,它不会为平移设置动画,如果平移超过一个屏幕,则重置地图视图,或者只是为地图窗格设置新的偏移量(除了 panBy 之外)。
duration Number 0.25 动画平移的持续时间,以秒为单位。
easeLinearity Number 0.25 平移动画缓动的曲率因子(三次贝塞尔曲线 的第三个参数 )。1.0 表示线性动画,这个数字越小,曲线越弯曲。
noMoveStart Boolean false 如果为 true,平移将不会在开始时触发 movestart 事件(内部用于平移的惯性)。

Zoom/pan options 缩放/平移选项

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

Padding 选项

选项 类型 默认 说明
paddingTopLeft Point [0, 0] 设置在将视图设置为适合边界时不应考虑的地图容器左上角的填充量。如果您在地图上有一些控件叠加层(如侧边栏)并且您不希望它们遮挡您要缩放到的对象,则此功能很有用。
paddingBottomRight Point [0, 0] 地图右下角也是如此。
padding Point [0, 0] 相当于将左上角和右下角填充设置为相同的值。

FitBounds 选项

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

Marker 标记

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

使用示例

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

Creation

构造函数 说明
L.marker(<LatLng> latlng, <Marker options> options?) 给出一个地理位置和可选的参数,实例化一个Marker对象。

Options 选项

选项 类型 默认 说明
icon Icon * 用于渲染标记(marker)的图标实例。有关如何自定义标记(marker)图标的详细信息,请参阅 Icon 文档。如果未指定,L.Icon.Default 则使用公共实例。
keyboard Boolean true 是否可以用键盘标记并按回车键进行点击。
title String '' 悬停在标记(marker)上时出现的浏览器 tooltip 提示文本内容(默认情况下没有 tooltip 提示)。 对无障碍环境很有帮助
alt String 'Marker' Icon图标的 alt 属性提示文本内容。 对无障碍环境很有帮助
zIndexOffset Number 0 默认情况下,标记(marker)图像 zIndex 是根据其纬度自动设置的。如果您想将标记置于所有其他标记(marker)之上(或之下),则使用此选项指定一个高值,如 1000(或高的负值)。
opacity Number 1.0 标记(marker)的不透明度。
riseOnHover Boolean false 如果为 true,当你把鼠标悬停在它上面时,该标记(marker)会在其他标记之上。
riseOffset Number 250 用于 riseOnHover 功能的 z-index 偏移。
pane String 'markerPane' Map pane 将添加标记图标的位置。
shadowPane String 'shadowPane' Map pane 将添加标记阴影的位置。
bubblingMouseEvents Boolean false 当为 true 时,此标记上的鼠标事件将触发地图上的相同事件(除非使用 L.DomEvent.stopPropagation)。
autoPanOnFocus Boolean true When true, the map will pan whenever the marker is focused (via e.g. pressing tab on the keyboard) to ensure the marker is visible within the map's bounds

可拖动的 marker 选项

选项 类型 默认 说明
draggable Boolean false 标记(marker)是否可通过鼠标/触摸拖动。
autoPan Boolean false 将此标记(marker)拖动到其边缘附近时是否平移地图。
autoPanPadding Point Point(50, 50) 开始平移地图时距离边缘的距离(左/右和上/下,以像素为单位)。
autoPanSpeed Number 10 地图应该平移的像素数。
选项 类型 默认 说明
interactive Boolean true 如果为 false,该图层将不会触发鼠标事件,并作为底层地图的一部分。
选项 类型 默认 说明
attribution String null 要在属性控件中显示的字符串,例如:"© OpenStreetMap contributors"。它描述了一些图层信息,通常是对版权所有者和瓦片提供者的法律义务。

Events 事件

事件 数据 说明
move Event 当标记通过 setLatLng 或通过 dragging 移动时触发该事件,并且旧坐标和新坐标会作为 oldLatLnglatlng 包含在事件参数中。

Dragging events 拖拽事件

事件 数据 说明
dragstart Event 当用户开始拖动标记时触发。
movestart Event 当标记物开始移动(因为拖动)时触发。
drag Event 当用户拖动标记时重复触发。
dragend DragEndEvent 当用户停止拖动标记时触发。
moveend Event 当标记物停止移动(因为拖动)时启动。
事件 数据 说明
click MouseEvent 当用户 click(或 tap)图层时触发。
dblclick MouseEvent 当用户 double-click(或 double-tap)图层时触发。
mousedown MouseEvent 当用户在图层上按下鼠标按钮时触发。
mouseup MouseEvent 当用户释放在图层上按下的鼠标按钮时触发。
mouseover MouseEvent 当鼠标进入图层时触发。
mouseout MouseEvent 当鼠标离开图层时触发。
contextmenu MouseEvent 当用户在图层上点击右键时触发,如果此事件有监听者,则阻止默认的浏览器上下文菜单显示。在移动设备上,当用户长按时,也会在手机上触发。
事件 数据 说明
add Event 在图层添加到地图后触发
remove Event 从地图中移除图层后触发
事件 数据 说明
popupopen PopupEvent 当绑定到该层的 popup 打开时触发
popupclose PopupEvent 当绑定到该层的 popup 关闭时触发
事件 数据 说明
tooltipopen TooltipEvent 当绑定到该层的 tooltip 打开时触发。
tooltipclose TooltipEvent 当绑定到该层的 tooltip 关闭时触发。

Methods 方法

除了共享层方法,如 addTo()remove()、类似 bindPopup() 的 popup 方法之外,你还可以使用以下方法:
方法 返回值 说明
getLatLng() LatLng

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

setLatLng(<LatLng> latlng) this

将标记位置更改为指定坐标。

setZIndexOffset(<Number> offset) this

更改标记的 zIndex 偏移量

getIcon() Icon

返回标记使用的当前图标

setIcon(<Icon> icon) this

更改标记图标。

setOpacity(<Number> opacity) this

更改标记的透明度。

Other methods 其它方法

方法 返回值 说明
toGeoJSON(<Number|false> precision?) Object

precision 是坐标的小数位数,默认值是6位。 返回用 GeoJSON 表示的标记内容(作为一个GeoJSON Point特征)。

方法 返回值 说明
addTo(<Map|LayerGroup> map) this

将图层添加到指定的地图或图层组(layer group)。

remove() this

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

removeFrom(<Map> map) this

从指定的地图中删除图层

removeFrom(<LayerGroup> group) this

从指定的 LayerGroup 中删除图层。

getPane(<String> name?) HTMLElement

返回代表地图上指定窗格(pane)的 HTMLElement。如果 name 被省略,则返回该层的窗格。

getAttribution() String

attribution 控件使用,返回 attribution 选项

方法 返回值 说明
bindPopup(<String|HTMLElement|Function|Popup> content, <Popup options> options?) this

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

unbindPopup() this

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

openPopup(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的弹出窗口,如果没有指定 latlng,则在默认的锚点打开弹出窗口。

closePopup() this

如果弹出窗口(popup)已打开,则关闭绑定到该层的弹出窗口。

togglePopup() this

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

isPopupOpen() boolean

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

setPopupContent(<String|HTMLElement|Popup> content) this

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

getPopup() Popup

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

方法 返回值 说明
bindTooltip(<String|HTMLElement|Function|Tooltip> content, <Tooltip options> options?) this

将工具提示(tooltip)绑定到传入的图层 content 并设置必要的事件侦听器。如果一个 Function 被传递,它将接收图层作为第一个参数,并应返回 StringHTMLElement

unbindTooltip() this

移除之前用 bindTooltip 绑定的工具提示(tooltip)。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的工具提示(tooltip),如果没有指定 latlng,则在默认的锚点打开工具提示(tooltip)。

closeTooltip() this

如果该图层处于打开状态,则关闭绑定到该图层的工具提示。

toggleTooltip() this

根据当前状态打开或关闭绑定到该图层的工具提示(tooltip)。

isTooltipOpen() boolean

如果该层绑定的工具提示(tooltip)当前已打开,则返回 true

setTooltipContent(<String|HTMLElement|Tooltip> content) this

设置绑定到该层的工具提示(tooltip)的内容。

getTooltip() Tooltip

返回绑定到该层的工具提示(tooltip)。

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

为对象的特定事件类型添加一个监听函数(fn)。你可以选择性地指定监听器的上下文(这个关键字将指向的对象)。你也可以传递几个空格分隔的类型(例如,'click dblclick')。

on(<Object> eventMap) this

添加一组 type/listener,例如 {click: onClick, mousemove: onMouseMove}

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

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

off(<Object> eventMap) this

删除一组 type/listener

off() this

移除该对象上所有事件的所有监听器。这包括隐含的附加事件。

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

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

listens(<String> type, <Boolean> propagate?) Boolean

如果一个特定的事件类型有任何监听器连接到它,则返回 true。验证可以选择性地被传播,如果父级有监听器连接到它,它将返回true

once() this

on(...)的行为一样,不过监听器只会被触发一次后然后被删除。

addEventParent(<Evented> obj) this

向父级 Evented 添加事件

removeEventParent(<Evented> obj) this

删除之前向父级 Evented 添加的事件

addEventListener() this

on(…)

removeEventListener() this

off(…)

clearAllEventListeners() this

off()

addOneTimeEventListener() this

once(…)

fireEvent() this

fire(…)

hasEventListeners() Boolean

listens(…)

Properties 属性

Interaction handlers 交互处理程序

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

DivOverlay

L.Popup 和 L.Tooltip 的基本模型,比如继承自它的 custom overlays 插件。

Options 选项

选项 类型 默认值 说明
interactive Boolean false 如果为 true,popup/tooltip 将监听鼠标事件。
offset Point Point(0, 0) overlay 的偏移量。
className String '' 一个自定义的 CSS 类名称,用于分配给 overlay。
pane String undefined 将在 Map pane 中添加 overlay。
选项 类型 默认值 说明
bubblingMouseEvents Boolean true 当为 true 时,此标记上的鼠标事件将触发地图上的相同事件(除非使用 L.DomEvent.stopPropagation)。
选项 类型 默认 描述
attribution String null 在属性控件中显示的字符串,例如:"© OpenStreetMap contributors"。它描述了图层数据,并且通常是对版权所有者和瓦片提供商的法律义务。

Events 事件

DivOverlay events

事件 数据 说明
contentupdate Event 当 overlay 的内容被更新时触发。
事件 数据 说明
click MouseEvent 当用户点击图层(Layer)时触发。
dblclick MouseEvent 当用户双击图层(Layer)时触发。
mousedown MouseEvent 当用户在图层(Layer)上按下鼠标按钮时触发。
mouseup MouseEvent 当用户释放图层(Layer)上的鼠标按钮时触发。
mouseover MouseEvent 当鼠标进入图层(Layer)时触发。
mouseout MouseEvent 当鼠标离开图层(Layer)时触发。
contextmenu MouseEvent 当用户在图层(Layer)上按下鼠标右键时触发,从而阻止默认浏览器上下文菜单显示,如果此事件上有侦听器。 当用户长按时,也会在移动设备上触发。
事件 数据 说明
add Event 在图层添加到地图后触发
remove Event 从地图中移除图层后触发
事件 数据 说明
popupopen PopupEvent 当绑定到该层的弹出窗口(popup)打开时触发
popupclose PopupEvent 当绑定到该层的弹出窗口(popup)关闭时触发
事件 数据 说明
tooltipopen TooltipEvent 当绑定到该层的工具提示(tooltip)打开时触发。
tooltipclose TooltipEvent 当绑定到该层的工具提示(tooltip)关闭时触发。

Methods 方法

方法 返回值 说明
openOn(<Map> map) this

Adds the overlay to the map. Alternative to map.openPopup(popup)/.openTooltip(tooltip).

close() this

Closes the overlay. Alternative to map.closePopup(popup)/.closeTooltip(tooltip) and layer.closePopup()/.closeTooltip().

toggle(<Layer> layer?) this

Opens or closes the overlay bound to layer depending on its current state. Argument may be omitted only for overlay bound to layer. Alternative to layer.togglePopup()/.toggleTooltip().

getLatLng() LatLng

Returns the geographical point of the overlay.

setLatLng(<LatLng> latlng) this

Sets the geographical point where the overlay will open.

getContent() String|HTMLElement

Returns the content of the overlay.

setContent(<String|HTMLElement|Function> htmlContent) this

Sets the HTML content of the overlay. If a function is passed the source layer will be passed to the function. The function should return a String or HTMLElement to be used in the overlay.

getElement() String|HTMLElement

Returns the HTML container of the overlay.

update() null

Updates the overlay content, layout and position. Useful for updating the overlay after something inside changed, e.g. image loaded.

isOpen() Boolean

Returns true when the overlay is visible on the map.

bringToFront() this

Brings this overlay in front of other overlays (in the same map pane).

bringToBack() this

Brings this overlay to the back of other overlays (in the same map pane).

方法 返回值 说明
addTo(<Map|LayerGroup> map) this

将图层添加到指定的地图或图层组(LayerGroup)。

remove() this

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

removeFrom(<Map> map) this

从指定的地图中删除图层

removeFrom(<LayerGroup> group) this

从指定的LayerGroup中删除该图层。

getPane(<String> name?) HTMLElement

返回代表地图上指定窗格的 HTMLElement。如果 name 被省略,则返回该层的窗格。

getAttribution() String

attribution控件 使用,返回 attribution 选项

方法 返回值 说明
bindPopup(<String|HTMLElement|Function|Popup> content, <Popup options> options?) this

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

unbindPopup() this 移除之前用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的弹出窗口,如果没有设置 latlng,则在默认的位置打开弹窗(popup)。

closePopup() this

如果与当前图层绑定的弹窗(popup)时打开的,则关闭当前弹窗。

togglePopup() this

根据当前状态,打开或关闭与该层绑定的弹出窗口。

isPopupOpen() boolean

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

setPopupContent(<String|HTMLElement|Popup> content) this

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

getPopup() Popup

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

方法 返回值 描述
bindTooltip(<String|HTMLElement|Function|Tooltip> content, <Tooltip options> options?) this

将工具提示(tooltip)绑定到传入的图层 content 并设置必要的事件侦听器。如果一个 Function 被传递,它将接收图层作为第一个参数,并应返回 StringHTMLElement

unbindTooltip() this

移除之前用 bindTooltip 绑定的工具提示(tooltip)。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的工具提示(tooltip),如果没有指定 latlng,则在默认的锚点打开工具提示(tooltip)。

closeTooltip() this

如果该图层处于打开状态,则关闭绑定到该图层的工具提示。

toggleTooltip() this

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

isTooltipOpen() boolean

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

setTooltipContent(<String|HTMLElement|Tooltip> content) this

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

getTooltip() Tooltip

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

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

为对象的特定事件类型添加一个监听函数(fn)。你可以选择性地指定监听器的上下文(这个关键字将指向的对象)。你也可以传递几个空格分隔的类型(例如,'click dblclick')。

on(<Object> eventMap) this

添加一组 type/listener,例如 {click: onClick, mousemove: onMouseMove}

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

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

off(<Object> eventMap) this

删除一组 type/listener

off() this

移除该对象上所有事件的所有监听器。这包括隐含的附加事件。

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

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

listens(<String> type, <Boolean> propagate?) Boolean

如果一个特定的事件类型有任何监听器连接到它,则返回 true。验证可以选择性地被传播,如果父级有监听器连接到它,它将返回true

once() this

on(...)的行为一样,不过监听器只会被触发一次后然后被删除。

addEventParent(<Evented> obj) this

向父级 Evented 添加事件

removeEventParent(<Evented> obj) this

删除之前向父级 Evented 添加的事件

addEventListener() this

on(…)

removeEventListener() this

off(…)

clearAllEventListeners() this

off()

addOneTimeEventListener() this

once(…)

fireEvent() this

fire(…)

hasEventListeners() Boolean

listens(…)

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

如果您只想将弹出窗口(popup)绑定到标记(marker)单击然后打开它,这其实很简单:

marker.bindPopup(popupContent).openPopup();

像折线(polylines)这样的路径叠加也有一个 bindPopup 方法。这是在地图上打开弹出窗口的更复杂的方法:

var popup = L.popup()
	.setLatLng(latlng)
	.setContent('<p>Hello world!<br />This is a nice popup.</p>')
	.openOn(map);
构造函数 说明
选项 类型 默认 描述
选项 类型 默认 描述
选项 类型 默认 说明
选项 类型 默认值 说明

Events 事件

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

Tooltip 工具提示

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

使用示例

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

关于工具提示(tootip)偏移,Leaflet 在计算工具提示偏移时考虑了两个选项:

  • 工具提示(tooltip)的 offset 选项:它默认为 [0,0],并且它只针对于一个工具提示。添加正 x 偏移以将工具提示向右移动,并添加正 y 偏移以将其移动到底部,负数将移动到左侧和顶部。
  • Icon 的 tooltipAnchor 选项:只适用于 Marker。你如果你使用一个自定义的图标,应该调整这个值。

Creation

构造函数 说明
L.tooltip(<Tooltip options> options?, <Layer> source?) 实例化一个 Tooltip 对象,给定一个可选的 options 对象,描述其外观和位置,以及一个可选的 source 对象,用它所指向的 Layer 的引用来标记 Tooltip。

Options 选项

选项 类型 默认 说明
pane String 'tooltipPane' 地图窗格将添加 Tooltip 的位置。
offset Point Point(0, 0) Tooltip 位置的可选偏移。
direction String 'auto' 打开 Tooltip 的方向。可能的值有:rightlefttopbottomcenterautoauto 将之间进行动态切换 rightleft 根据地图上的工具提示位置。
permanent Boolean false 是永久打开 Tooltip 还是只在鼠标移动时打开。
sticky Boolean false 如果为 true,Tooltip 将跟随鼠标移动,而不是固定在特征中心。
opacity Number 0.9 Tooltip 容器透明度。
选项 类型 默认 描述
interactive Boolean false 如果为 true,popup/tooltip 将监听鼠标事件。
className String '' 为 Overlayer 设置自定义 CSS 类名称。
选项 类型 默认 说明
bubblingMouseEvents Boolean true 当为 true时,鼠标事件将在地图上触发相同的事件 (除非使用 L.DomEvent.stopPropagation )。
选项 类型 默认值 说明
attribution String null 归属控制中要显示的字符串,例如 "© OpenStreetMap 贡献者"。 它描述了图层数据,通常是对版权所有者和瓦片提供者的法律义务。

Events 事件

事件 数据 说明
contentupdate Event 当 overlay 的内容被更新时触发。
事件 数据 说明
click MouseEvent 当用户 click 或 tap 该图层时触发。
dblclick MouseEvent 当用户 double-click 或 double-tap 该图层时触发。
mousedown MouseEvent 当用户在该图层上按下鼠标按钮时触发。
mouseup MouseEvent 当用户在该图层上释放按下的鼠标按钮时触发。
mouseover MouseEvent 鼠标进入该图层时触发。
mouseout MouseEvent 当鼠标离开该图层时触发。
contextmenu MouseEvent 当用户在图层上点击右键时触发,如果该事件有监听者,可以防止显示默认的浏览器上下文菜单。在手机上,当用户保持单次触摸一秒钟(也叫长按)时也会触发。
事件 数据 说明
add Event 在图层被添加到地图后触发
remove Event 从地图上删除图层后触发
事件 数据 说明
popupopen PopupEvent 当与该图层绑定的 Popup 被打开时触发
popupclose PopupEvent 当与该图层绑定的 Popup 关闭时触发
事件 数据 说明
tooltipopen TooltipEvent 当绑定到该图层的 Tooltip 被打开时触发。
tooltipclose TooltipEvent 当绑定到该图层的 Tooltip 关闭时触发。

Methods 方法

方法 返回值 说明
openOn(<Map> map) this

Adds the overlay to the map. Alternative to map.openPopup(popup)/.openTooltip(tooltip).

close() this

Closes the overlay. Alternative to map.closePopup(popup)/.closeTooltip(tooltip) and layer.closePopup()/.closeTooltip().

toggle(<Layer> layer?) this

Opens or closes the overlay bound to layer depending on its current state. Argument may be omitted only for overlay bound to layer. Alternative to layer.togglePopup()/.toggleTooltip().

getLatLng() LatLng

Returns the geographical point of the overlay.

setLatLng(<LatLng> latlng) this

Sets the geographical point where the overlay will open.

getContent() String|HTMLElement

Returns the content of the overlay.

setContent(<String|HTMLElement|Function> htmlContent) this

Sets the HTML content of the overlay. If a function is passed the source layer will be passed to the function. The function should return a String or HTMLElement to be used in the overlay.

getElement() String|HTMLElement

Returns the HTML container of the overlay.

update() null

Updates the overlay content, layout and position. Useful for updating the overlay after something inside changed, e.g. image loaded.

isOpen() Boolean

Returns true when the overlay is visible on the map.

bringToFront() this

Brings this overlay in front of other overlays (in the same map pane).

bringToBack() this

Brings this overlay to the back of other overlays (in the same map pane).

方法 返回值 说明
addTo(<Map|LayerGroup> map) this

将图层添加到指定的地图或图层组(LayerGroup)。

remove() this

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

removeFrom(<Map> map) this

从指定的地图中删除图层

removeFrom(<LayerGroup> group) this

从指定的LayerGroup中删除该图层。

getPane(<String> name?) HTMLElement

返回代表地图上指定窗格的 HTMLElement。如果 name 被省略,则返回该层的窗格。

getAttribution() String

attribution控件 使用,返回 attribution 选项

方法 返回值 说明
bindPopup(<String|HTMLElement|Function|Popup> content, <Popup options> options?) this

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

unbindPopup() this 移除之前用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的弹出窗口,如果没有设置 latlng,则在默认的位置打开弹窗(popup)。

closePopup() this

如果与当前图层绑定的弹窗(popup)时打开的,则关闭当前弹窗。

togglePopup() this

根据当前状态,打开或关闭与该层绑定的弹出窗口。

isPopupOpen() boolean

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

setPopupContent(<String|HTMLElement|Popup> content) this

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

getPopup() Popup

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

方法 返回值 描述
bindTooltip(<String|HTMLElement|Function|Tooltip> content, <Tooltip options> options?) this

将工具提示(tooltip)绑定到传入的图层 content 并设置必要的事件侦听器。如果一个 Function 被传递,它将接收图层作为第一个参数,并应返回 StringHTMLElement

unbindTooltip() this

移除之前用 bindTooltip 绑定的工具提示(tooltip)。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的工具提示(tooltip),如果没有指定 latlng,则在默认的锚点打开工具提示(tooltip)。

closeTooltip() this

如果该图层处于打开状态,则关闭绑定到该图层的工具提示。

toggleTooltip() this

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

isTooltipOpen() boolean

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

setTooltipContent(<String|HTMLElement|Tooltip> content) this

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

getTooltip() Tooltip

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

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

为对象的特定事件类型添加一个监听函数(fn)。你可以选择性地指定监听器的上下文(这个关键字将指向的对象)。你也可以传递几个空格分隔的类型(例如,'click dblclick')。

on(<Object> eventMap) this

添加一组 type/listener,例如 {click: onClick, mousemove: onMouseMove}

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

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

off(<Object> eventMap) this

删除一组 type/listener

off() this

移除该对象上所有事件的所有监听器。这包括隐含的附加事件。

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

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

listens(<String> type, <Boolean> propagate?) Boolean

如果一个特定的事件类型有任何监听器连接到它,则返回 true。验证可以选择性地被传播,如果父级有监听器连接到它,它将返回true

once() this

on(...)的行为一样,不过监听器只会被触发一次后然后被删除。

addEventParent(<Evented> obj) this

向父级 Evented 添加事件

removeEventParent(<Evented> obj) this

删除之前向父级 Evented 添加的事件

addEventListener() this

on(…)

removeEventListener() this

off(…)

clearAllEventListeners() this

off()

addOneTimeEventListener() this

once(…)

fireEvent() this

fire(…)

hasEventListeners() Boolean

listens(…)

TileLayer

用于在地图上加载和显示瓦片图层。 请注意,大多数tile服务器都需要属性,你可以在 Layer 下进行设置。 扩展 GridLayer

使用示例

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, bc , 可以省略), {z} — 缩放级别, {x}{y} — 瓦片坐标。 {r} 可以用来在URL中添加 "@2x" 以加载视网膜瓦片。

您可以在模板中使用自定义键,这些键将通过 TileLayer 选项进行 evaluated ,如下所示:

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

Creation

Extension methods 扩展方法

构造函数 说明
L.tilelayer(<String> urlTemplate, <TileLayer options> options?) 指定 URL 模板和可选的 options 对象,实例化一个瓦片图层对象。

Options 选项

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

Events 事件

Extension methods 扩展方法

事件 数据 说明
tileabort TileEvent 当瓦片正在加载但现在不需要时触发。
事件 数据 说明
loading Event 当网格图层开始加载瓦片时触发。
tileunload TileEvent 当瓦片被移除时触发(例如,当瓦片离开屏幕时)。
tileloadstart TileEvent 当请求瓦片并开始加载时触发。
tileerror TileErrorEvent 当加载瓦片出现错误时触发。
tileload TileEvent 当瓦片加载时触发。
load Event 当网格图层加载所有可见瓦片时触发。
事件 数据 说明
add Event 在图层添加到地图后触发
remove Event 从地图中移除图层后触发
事件 数据 说明
popupopen PopupEvent 当绑定到该层的 popup 打开时触发
popupclose PopupEvent 当绑定到该层的 popup 关闭时触发
事件 数据 说明
tooltipopen TooltipEvent 当绑定到该层的 tooltip 打开时触发。
tooltipclose TooltipEvent 当绑定到该层的 tooltip 关闭时触发。

Methods 方法

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

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

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

仅在内部调用,覆盖 GridLayer 的 createTile() 以返回带有给定坐标的适当图像 URL 的 <img> HTML 元素。 已加载磁贴时调用 done 回调。

Extension methods 扩展方法

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

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

方法 返回值 说明
bringToFront() this

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

bringToBack() this

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

getContainer() HTMLElement

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

setOpacity(<Number> opacity) this

改变网格图层的 opacity

setZIndex(<Number> zIndex) this

改变网格图层的 zIndex

isLoading() Boolean

如果网格图层中的任何瓦片没有完成加载,则返回 true

redraw() this

清除该图层的所有瓦片,并再次请求它们。

getTileSize() Point

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

方法 返回值 说明
addTo(<Map|LayerGroup> map) this

将图层添加到指定的地图或图层组(LayerGroup)。

remove() this

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

removeFrom(<Map> map) this

从指定的地图中删除图层

removeFrom(<LayerGroup> group) this

从指定的 LayerGroup 中删除该图层。

getPane(<String> name?) HTMLElement

返回代表地图上指定窗格的 HTMLElement。如果 name 被省略,则返回该层的窗格。

getAttribution() String

attribution 控件使用,返回 attribution 选项

方法 返回值 说明
bindPopup(<String|HTMLElement|Function|Popup> content, <Popup options> options?) this

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

unbindPopup() this 移除之前用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的弹出窗口,如果没有设置 latlng,则在默认的位置打开弹窗(popup)。

closePopup() this

如果与当前图层绑定的弹窗(popup)时打开的,则关闭当前弹窗。

togglePopup() this

根据当前状态,打开或关闭与该层绑定的弹出窗口。

isPopupOpen() boolean

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

setPopupContent(<String|HTMLElement|Popup> content) this

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

getPopup() Popup

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

方法 返回值 说明
bindTooltip(<String|HTMLElement|Function|Tooltip> content, <Tooltip options> options?) this

将工具提示(tooltip)绑定到传入的图层 content 并设置必要的事件侦听器。如果一个 Function 被传递,它将接收图层作为第一个参数,并应返回 StringHTMLElement

unbindTooltip() this

移除之前用 bindTooltip 绑定的工具提示(tooltip)。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的工具提示(tooltip),如果没有指定 latlng,则在默认的锚点打开工具提示(tooltip)。

closeTooltip() this

如果该图层处于打开状态,则关闭绑定到该图层的工具提示。

toggleTooltip() this

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

isTooltipOpen() boolean

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

setTooltipContent(<String|HTMLElement|Tooltip> content) this

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

getTooltip() Tooltip

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

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

为对象的特定事件类型添加一个监听函数(fn)。你可以选择性地指定监听器的上下文(这个关键字将指向的对象)。你也可以传递几个空格分隔的类型(例如,'click dblclick')。

on(<Object> eventMap) this

添加一组 type/listener,例如 {click: onClick, mousemove: onMouseMove}

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

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

off(<Object> eventMap) this

删除一组 type/listener

off() this

移除该对象上所有事件的所有监听器。这包括隐含的附加事件。

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

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

listens(<String> type, <Boolean> propagate?) Boolean

如果一个特定的事件类型有任何监听器连接到它,则返回 true。验证可以选择性地被传播,如果父级有监听器连接到它,它将返回true

once() this

on(...)的行为一样,不过监听器只会被触发一次后然后被删除。

addEventParent(<Evented> obj) this

向父级 Evented 添加事件

removeEventParent(<Evented> obj) this

删除之前向父级 Evented 添加的事件

addEventListener() this

on(…)

removeEventListener() this

off(…)

clearAllEventListeners() this

off()

addOneTimeEventListener() this

once(…)

fireEvent() this

fire(…)

hasEventListeners() Boolean

listens(…)

TileLayer.WMS

用于将 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"
});

Creation

构造函数 说明
L.tileLayer.wms(<String> baseUrl, <TileLayer.WMS options> options) 给定 WMS 服务的基本 URL 和 WMS 参数/选项对象,实例化 WMS 瓦片图层对象。

Options 选项

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

Events 事件

事件 数据 说明
tileabort TileEvent 当瓦片正在加载但现在不需要时触发。
事件 数据 说明
loading Event 当网格图层开始加载瓦片时触发。
tileunload TileEvent 当瓦片被移除时触发(例如,当瓦片离开屏幕时)。
tileloadstart TileEvent 当请求瓦片并开始加载时触发。
tileerror TileErrorEvent 当加载瓦片出现错误时触发。
tileload TileEvent 当瓦片加载时触发。
load Event 当网格图层加载所有可见瓦片时触发。
事件 数据 说明
add Event 在图层添加到地图后触发
remove Event 从地图中移除图层后触发
事件 数据 说明
popupopen PopupEvent 当绑定到该层的 popup 打开时触发
popupclose PopupEvent 当绑定到该层的 popup 关闭时触发
事件 数据 说明
tooltipopen TooltipEvent 当绑定到该层的 tooltip 打开时触发。
tooltipclose TooltipEvent 当绑定到该层的 tooltip 关闭时触发。

Methods 方法

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

合并具有新参数的对象并重新请求当前屏幕上的图块 (除非 noRedraw 设置为 true)。

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

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

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

仅在内部调用,覆盖 GridLayer 的 createTile() 以返回带有给定坐标的适当图像 URL 的 <img> HTML 元素。 已加载磁贴时调用 done 回调。

方法 返回值 说明
bringToFront() this

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

bringToBack() this

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

getContainer() HTMLElement

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

setOpacity(<Number> opacity) this

改变网格图层的 opacity

setZIndex(<Number> zIndex) this

改变网格图层的 zIndex

isLoading() Boolean

如果网格图层中的任何瓦片没有完成加载,则返回 true

redraw() this

清除该图层的所有瓦片,并再次请求它们。

getTileSize() Point

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

方法 返回值 说明
addTo(<Map|LayerGroup> map) this

将图层添加到指定的地图或图层组(LayerGroup)。

remove() this

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

removeFrom(<Map> map) this

从指定的地图中删除图层

removeFrom(<LayerGroup> group) this

从指定的 LayerGroup 中删除该图层。

getPane(<String> name?) HTMLElement

返回代表地图上指定窗格的 HTMLElement。如果 name 被省略,则返回该层的窗格。

getAttribution() String

attribution 控件使用,返回 attribution 选项

方法 返回值 说明
bindPopup(<String|HTMLElement|Function|Popup> content, <Popup options> options?) this

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

unbindPopup() this 移除之前用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的弹出窗口,如果没有设置 latlng,则在默认的位置打开弹窗(popup)。

closePopup() this

如果与当前图层绑定的弹窗(popup)时打开的,则关闭当前弹窗。

togglePopup() this

根据当前状态,打开或关闭与该层绑定的弹出窗口。

isPopupOpen() boolean

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

setPopupContent(<String|HTMLElement|Popup> content) this

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

getPopup() Popup

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

方法 返回值 说明
bindTooltip(<String|HTMLElement|Function|Tooltip> content, <Tooltip options> options?) this

将工具提示(tooltip)绑定到传入的图层 content 并设置必要的事件侦听器。如果一个 Function 被传递,它将接收图层作为第一个参数,并应返回 StringHTMLElement

unbindTooltip() this

移除之前用 bindTooltip 绑定的工具提示(tooltip)。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的工具提示(tooltip),如果没有指定 latlng,则在默认的锚点打开工具提示(tooltip)。

closeTooltip() this

如果该图层处于打开状态,则关闭绑定到该图层的工具提示。

toggleTooltip() this

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

isTooltipOpen() boolean

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

setTooltipContent(<String|HTMLElement|Tooltip> content) this

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

getTooltip() Tooltip

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

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

为对象的特定事件类型添加一个监听函数(fn)。你可以选择性地指定监听器的上下文(这个关键字将指向的对象)。你也可以传递几个空格分隔的类型(例如,'click dblclick')。

on(<Object> eventMap) this

添加一组 type/listener,例如 {click: onClick, mousemove: onMouseMove}

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

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

off(<Object> eventMap) this

删除一组 type/listener

off() this

移除该对象上所有事件的所有监听器。这包括隐含的附加事件。

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

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

listens(<String> type, <Boolean> propagate?) Boolean

如果一个特定的事件类型有任何监听器连接到它,则返回 true。验证可以选择性地被传播,如果父级有监听器连接到它,它将返回true

once() this

on(...)的行为一样,不过监听器只会被触发一次后然后被删除。

addEventParent(<Evented> obj) this

向父级 Evented 添加事件

removeEventParent(<Evented> obj) this

删除之前向父级 Evented 添加的事件

addEventListener() this

on(…)

removeEventListener() this

off(…)

clearAllEventListeners() this

off()

addOneTimeEventListener() this

once(…)

fireEvent() this

fire(…)

hasEventListeners() Boolean

listens(…)

ImageOverlay

用于在地图的特定边界上加载和显示单个图像。 继承自 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);

Creation

构造函数 说明
L.imageOverlay(<String> imageUrl, <LatLngBounds> bounds, <ImageOverlay options> options?) 指定图像的 URL 和它所关联的地理边界,实例化一个 image overlay 对象。

Options 选项

选项 类型 默认值 说明
opacity Number 1.0 图像图层的不透明度。
alt String '' 图像 alt 属性的文本内容(对于可访问性很有用)。
interactive Boolean false 如果为 true,当单击或悬停时,图像图层将发出 鼠标事件
crossOrigin Boolean|String false 是否将 crossOrigin 属性添加到图像中。 如果提供了字符串,则图像的 crossOrigin 属性将设置为提供的字符串。 如果要访问图像像素数据,则需要这样做。 有关有效的字符串值,请参阅 CORS 设置
errorOverlayUrl String '' 图像图层的 URL,以代替加载失败的图层。
zIndex Number 1 图层的显式 zIndex
className String '' 为图像指定一个自定义类名。默认是空的。
选项 类型 默认值 说明
bubblingMouseEvents Boolean true 当为 true 时,此标记上的鼠标事件将触发地图上的相同事件(除非使用 L.DomEvent.stopPropagation)。
选项 类型 默认值 说明
pane String 'overlayPane' 默认情况下,该图层将被添加到地图的 overlay pane(覆盖窗格)中。 覆盖该选项将导致该图层被默认放置在另一个窗格中。
attribution String null 归属控制中要显示的字符串,例如 "© OpenStreetMap 贡献者"。 它描述了图层数据,通常是对版权所有者和瓦片提供者的法律义务。

Events 事件

事件 数据 说明
load Event 当 ImageOverlay 层图像加载完成时触发
error Event 当 ImageOverlay 层图像加载失败时触发
事件 数据 说明
click MouseEvent 当用户 click 或 tap 该图层时触发。
dblclick MouseEvent 当用户 double-click 或 double-tap 该图层时触发。
mousedown MouseEvent 当用户在该图层上按下鼠标按钮时触发。
mouseup MouseEvent 当用户在该图层上释放按下的鼠标按钮时触发。
mouseover MouseEvent 鼠标进入该图层时触发。
mouseout MouseEvent 当鼠标离开该图层时触发。
contextmenu MouseEvent 当用户在图层上点击右键时触发,如果该事件有监听者,可以防止显示默认的浏览器上下文菜单。在手机上,当用户保持单次触摸一秒钟(也叫长按)时也会触发。
事件 数据 说明
add Event 在图层添加到地图后触发
remove Event 从地图中移除图层后触发
事件 数据 说明
popupopen PopupEvent 当绑定到该层的 popup 打开时触发
popupclose PopupEvent 当绑定到该层的 popup 关闭时触发
事件 数据 说明
tooltipopen TooltipEvent 当绑定到该层的 tooltip 打开时触发。
tooltipclose TooltipEvent 当绑定到该层的 tooltip 关闭时触发。

Methods 方法

方法 返回值 说明
setOpacity(<Number> opacity) this

设置 overlay 的不透明度。

bringToFront() this

将图层置于所有 overlay 图层的顶部。

bringToBack() this

将图层置于所有 overlay 图层的底部。

setUrl(<String> url) this

更改图像的 URL。

setBounds(<LatLngBounds> bounds) this

更新当前 ImageOverlay 覆盖的边界

setZIndex(<Number> value) this

更改 image overlay 的 zIndex

getBounds() LatLngBounds

获取此 ImageOverlay 覆盖的边界

getElement() HTMLElement

返回这个 overlay 所使用的 HTMLImageElement 的实例。

getCenter() LatLng

返回 ImageOverlay 的中心坐标。

方法 返回值 说明
addTo(<Map|LayerGroup> map) this

将图层添加到指定的地图或图层组(LayerGroup)。

remove() this

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

removeFrom(<Map> map) this

从指定的地图中删除图层

removeFrom(<LayerGroup> group) this

从指定的 LayerGroup 中删除该图层。

getPane(<String> name?) HTMLElement

返回代表地图上指定窗格的 HTMLElement。如果 name 被省略,则返回该层的窗格。

getAttribution() String

attribution 控件使用,返回 attribution 选项

方法 返回值 说明
bindPopup(<String|HTMLElement|Function|Popup> content, <Popup options> options?) this

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

unbindPopup() this 移除之前用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的弹出窗口,如果没有设置 latlng,则在默认的位置打开弹窗(popup)。

closePopup() this

如果与当前图层绑定的弹窗(popup)时打开的,则关闭当前弹窗。

togglePopup() this

根据当前状态,打开或关闭与该层绑定的弹出窗口。

isPopupOpen() boolean

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

setPopupContent(<String|HTMLElement|Popup> content) this

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

getPopup() Popup

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

方法 返回值 说明
bindTooltip(<String|HTMLElement|Function|Tooltip> content, <Tooltip options> options?) this

将工具提示(tooltip)绑定到传入的图层 content 并设置必要的事件侦听器。如果一个 Function 被传递,它将接收图层作为第一个参数,并应返回 StringHTMLElement

unbindTooltip() this

移除之前用 bindTooltip 绑定的工具提示(tooltip)。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的工具提示(tooltip),如果没有指定 latlng,则在默认的锚点打开工具提示(tooltip)。

closeTooltip() this

如果该图层处于打开状态,则关闭绑定到该图层的工具提示。

toggleTooltip() this

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

isTooltipOpen() boolean

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

setTooltipContent(<String|HTMLElement|Tooltip> content) this

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

getTooltip() Tooltip

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

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

为对象的特定事件类型添加一个监听函数(fn)。你可以选择性地指定监听器的上下文(这个关键字将指向的对象)。你也可以传递几个空格分隔的类型(例如,'click dblclick')。

on(<Object> eventMap) this

添加一组 type/listener,例如 {click: onClick, mousemove: onMouseMove}

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

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

off(<Object> eventMap) this

删除一组 type/listener

off() this

移除该对象上所有事件的所有监听器。这包括隐含的附加事件。

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

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

listens(<String> type, <Boolean> propagate?) Boolean

如果一个特定的事件类型有任何监听器连接到它,则返回 true。验证可以选择性地被传播,如果父级有监听器连接到它,它将返回true

once() this

on(...)的行为一样,不过监听器只会被触发一次后然后被删除。

addEventParent(<Evented> obj) this

向父级 Evented 添加事件

removeEventParent(<Evented> obj) this

删除之前向父级 Evented 添加的事件

addEventListener() this

on(…)

removeEventListener() this

off(…)

clearAllEventListeners() this

off()

addOneTimeEventListener() this

once(…)

fireEvent() this

fire(…)

hasEventListeners() Boolean

listens(…)

VideoOverlay

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

Video overlay 使用了 <video> 这个 HTML5 元素。

使用示例

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

Creation

构造函数 说明
L.videoOverlay(<String|Array|HTMLVideoElement> video, <LatLngBounds> bounds, <VideoOverlay options> options?) 指定视频的 URL(或 URL 数组,甚至视频元素)和它所关联的地理边界,实例化一个 image overlay 对象。

Options 选项

选项 类型 默认值 说明
autoplay Boolean true 视频加载时是否自动开始播放。在某些浏览器上,仅适用于当 muted: true 时自动播放
loop Boolean true 视频是否循环播放。
keepAspectRatio Boolean true 视频投影后是否保存纵横比。 与支持的浏览器相关。 查看 浏览器兼容性
muted Boolean false 加载时视频是否以静音模式启动。
playsInline Boolean true 移动浏览器将在原处播放视频,而不是以全屏模式打开。
选项 类型 默认值 说明
opacity Number 1.0 图像图层的不透明度。
alt String '' 图像 alt 属性的文本内容(对于可访问性很有用)。
interactive Boolean false 如果为 true,当单击或悬停时,图像图层将发出 鼠标事件
crossOrigin Boolean|String false 是否将 crossOrigin 属性添加到图像中。 如果提供了字符串,则图像的 crossOrigin 属性将设置为提供的字符串。 如果要访问图像像素数据,则需要这样做。 有关有效的字符串值,请参阅 CORS 设置
errorOverlayUrl String '' 图像图层的 URL,以代替加载失败的图层。
zIndex Number 1 图层的显式 zIndex
className String '' 为图像指定一个自定义类名。默认是空的。
选项 类型 默认值 说明
bubblingMouseEvents Boolean true 当为 true 时,此标记上的鼠标事件将触发地图上的相同事件(除非使用 L.DomEvent.stopPropagation)。
选项 类型 默认值 说明
pane String 'overlayPane' 默认情况下,该图层将被添加到地图的 overlay pane(覆盖窗格)中。 覆盖该选项将导致该图层被默认放置在另一个窗格中。
attribution String null 归属控制中要显示的字符串,例如 "© OpenStreetMap 贡献者"。 它描述了图层数据,通常是对版权所有者和瓦片提供者的法律义务。

Events 事件

事件 数据 说明
load Event 当视频完成加载第一帧时触发
事件 数据 说明
error Event 当 ImageOverlay 层无法加载其图像时触发
事件 数据 说明
click MouseEvent 当用户 click 或 tap 该图层时触发。
dblclick MouseEvent 当用户 double-click 或 double-tap 该图层时触发。
mousedown MouseEvent 当用户在该图层上按下鼠标按钮时触发。
mouseup MouseEvent 当用户在该图层上释放按下的鼠标按钮时触发。
mouseover MouseEvent 鼠标进入该图层时触发。
mouseout MouseEvent 当鼠标离开该图层时触发。
contextmenu MouseEvent 当用户在图层上点击右键时触发,如果该事件有监听者,可以防止显示默认的浏览器上下文菜单。在手机上,当用户保持单次触摸一秒钟(也叫长按)时也会触发。
事件 数据 说明
add Event 在图层添加到地图后触发
remove Event 从地图中移除图层后触发
事件 数据 说明
popupopen PopupEvent 当绑定到该层的 popup 打开时触发
popupclose PopupEvent 当绑定到该层的 popup 关闭时触发
事件 数据 说明
tooltipopen TooltipEvent 当绑定到该层的 tooltip 打开时触发。
tooltipclose TooltipEvent 当绑定到该层的 tooltip 关闭时触发。

Methods 方法

方法 返回值 说明
getElement() HTMLVideoElement

返回此 overlay 使用的 HTMLVideoElement 实例。

方法 返回值 说明
setOpacity(<Number> opacity) this

设置 overlay 的不透明度。

bringToFront() this

将图层置于所有 overlay 图层的顶部。

bringToBack() this

将图层置于所有 overlay 图层的底部。

setUrl(<String> url) this

更改图像的 URL。

setBounds(<LatLngBounds> bounds) this

更新当前 ImageOverlay 覆盖的边界

setZIndex(<Number> value) this

更改 image overlay 的 zIndex

getBounds() LatLngBounds

获取此 ImageOverlay 覆盖的边界

getCenter() LatLng

返回 ImageOverlay 的中心坐标。

方法 返回值 说明
addTo(<Map|LayerGroup> map) this

将图层添加到指定的地图或图层组(LayerGroup)。

remove() this

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

removeFrom(<Map> map) this

从指定的地图中删除图层

removeFrom(<LayerGroup> group) this

从指定的 LayerGroup 中删除该图层。

getPane(<String> name?) HTMLElement

返回代表地图上指定窗格的 HTMLElement。如果 name 被省略,则返回该层的窗格。

getAttribution() String

attribution 控件使用,返回 attribution 选项

方法 返回值 说明
bindPopup(<String|HTMLElement|Function|Popup> content, <Popup options> options?) this

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

unbindPopup() this 移除之前用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的弹出窗口,如果没有设置 latlng,则在默认的位置打开弹窗(popup)。

closePopup() this

如果与当前图层绑定的弹窗(popup)时打开的,则关闭当前弹窗。

togglePopup() this

根据当前状态,打开或关闭与该层绑定的弹出窗口。

isPopupOpen() boolean

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

setPopupContent(<String|HTMLElement|Popup> content) this

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

getPopup() Popup

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

方法 返回值 说明
bindTooltip(<String|HTMLElement|Function|Tooltip> content, <Tooltip options> options?) this

将工具提示(tooltip)绑定到传入的图层 content 并设置必要的事件侦听器。如果一个 Function 被传递,它将接收图层作为第一个参数,并应返回 StringHTMLElement

unbindTooltip() this

移除之前用 bindTooltip 绑定的工具提示(tooltip)。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的工具提示(tooltip),如果没有指定 latlng,则在默认的锚点打开工具提示(tooltip)。

closeTooltip() this

如果该图层处于打开状态,则关闭绑定到该图层的工具提示。

toggleTooltip() this

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

isTooltipOpen() boolean

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

setTooltipContent(<String|HTMLElement|Tooltip> content) this

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

getTooltip() Tooltip

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

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

为对象的特定事件类型添加一个监听函数(fn)。你可以选择性地指定监听器的上下文(这个关键字将指向的对象)。你也可以传递几个空格分隔的类型(例如,'click dblclick')。

on(<Object> eventMap) this

添加一组 type/listener,例如 {click: onClick, mousemove: onMouseMove}

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

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

off(<Object> eventMap) this

删除一组 type/listener

off() this

移除该对象上所有事件的所有监听器。这包括隐含的附加事件。

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

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

listens(<String> type, <Boolean> propagate?) Boolean

如果一个特定的事件类型有任何监听器连接到它,则返回 true。验证可以选择性地被传播,如果父级有监听器连接到它,它将返回true

once() this

on(...)的行为一样,不过监听器只会被触发一次后然后被删除。

addEventParent(<Evented> obj) this

向父级 Evented 添加事件

removeEventParent(<Evented> obj) this

删除之前向父级 Evented 添加的事件

addEventListener() this

on(…)

removeEventListener() this

off(…)

clearAllEventListeners() this

off()

addOneTimeEventListener() this

once(…)

fireEvent() this

fire(…)

hasEventListeners() Boolean

listens(…)

SVGOverlay

用于在地图的特定边界上加载、显示和提供对 SVG 文件的 DOM 访问。 扩展自 ImageOverlay

SVG overlay 使用了 <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);

Creation

构造函数 说明
L.svgOverlay(<String|SVGElement> svg, <LatLngBounds> bounds, <SVGOverlay options> options?) 给定一个 SVG 元素和它所关联的地理边界,实例化一个 image overlay 对象。 SVG 元素需要 viewBox 属性才能正确放大和缩小。

Options 选项

选项 类型 默认值 说明
opacity Number 1.0 图像图层的不透明度。
alt String '' 图像 alt 属性的文本内容(对于可访问性很有用)。
interactive Boolean false 如果为 true,当单击或悬停时,图像图层将发出 鼠标事件
crossOrigin Boolean|String false 是否将 crossOrigin 属性添加到图像中。 如果提供了字符串,则图像的 crossOrigin 属性将设置为提供的字符串。 如果要访问图像像素数据,则需要这样做。 有关有效的字符串值,请参阅 CORS 设置
errorOverlayUrl String '' 图像图层的 URL,以代替加载失败的图层。
zIndex Number 1 图层的显式 zIndex
className String '' 为图像指定一个自定义类名。默认是空的。
选项 类型 默认值 说明
bubblingMouseEvents Boolean true 当为 true 时,此标记上的鼠标事件将触发地图上的相同事件(除非使用 L.DomEvent.stopPropagation)。
选项 类型 默认值 说明
pane String 'overlayPane' 默认情况下,该图层将被添加到地图的 overlay pane(覆盖窗格)中。 覆盖该选项将导致该图层被默认放置在另一个窗格中。
attribution String null 归属控制中要显示的字符串,例如 "© OpenStreetMap 贡献者"。 它描述了图层数据,通常是对版权所有者和瓦片提供者的法律义务。

Events 事件

事件 数据 说明
load Event 当 ImageOverlay 层加载了它的图像时触发
error Event 当 ImageOverlay 层无法加载其图像时触发
事件 数据 说明
click MouseEvent 当用户 click 或 tap 该图层时触发。
dblclick MouseEvent 当用户 double-click 或 double-tap 该图层时触发。
mousedown MouseEvent 当用户在该图层上按下鼠标按钮时触发。
mouseup MouseEvent 当用户在该图层上释放按下的鼠标按钮时触发。
mouseover MouseEvent 鼠标进入该图层时触发。
mouseout MouseEvent 当鼠标离开该图层时触发。
contextmenu MouseEvent 当用户在图层上点击右键时触发,如果该事件有监听者,可以防止显示默认的浏览器上下文菜单。在手机上,当用户保持单次触摸一秒钟(也叫长按)时也会触发。
事件 数据 说明
add Event 在图层添加到地图后触发
remove Event 从地图中移除图层后触发
事件 数据 说明
popupopen PopupEvent 当绑定到该层的 popup 打开时触发
popupclose PopupEvent 当绑定到该层的 popup 关闭时触发
事件 数据 说明
tooltipopen TooltipEvent 当绑定到该层的 tooltip 打开时触发。
tooltipclose TooltipEvent 当绑定到该层的 tooltip 关闭时触发。

Methods 方法

方法 返回值 说明
getElement() SVGElement

返回此 overlay 使用的 SVGElement 实例。

方法 返回值 说明
setOpacity(<Number> opacity) this

设置 overlay 的不透明度。

bringToFront() this

将图层置于所有 overlay 图层的顶部。

bringToBack() this

将图层置于所有 overlay 图层的底部。

setUrl(<String> url) this

更改图像的 URL。

setBounds(<LatLngBounds> bounds) this

更新当前 ImageOverlay 覆盖的边界

setZIndex(<Number> value) this

更改 image overlay 的 zIndex

getBounds() LatLngBounds

获取此 ImageOverlay 覆盖的边界

getCenter() LatLng

返回 ImageOverlay 的中心坐标。

方法 返回值 说明
addTo(<Map|LayerGroup> map) this

将图层添加到指定的地图或图层组(LayerGroup)。

remove() this

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

removeFrom(<Map> map) this

从指定的地图中删除图层

removeFrom(<LayerGroup> group) this

从指定的 LayerGroup 中删除该图层。

getPane(<String> name?) HTMLElement

返回代表地图上指定窗格的 HTMLElement。如果 name 被省略,则返回该层的窗格。

getAttribution() String

attribution 控件使用,返回 attribution 选项

方法 返回值 说明
bindPopup(<String|HTMLElement|Function|Popup> content, <Popup options> options?) this

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

unbindPopup() this 移除之前用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的弹出窗口,如果没有设置 latlng,则在默认的位置打开弹窗(popup)。

closePopup() this

如果与当前图层绑定的弹窗(popup)时打开的,则关闭当前弹窗。

togglePopup() this

根据当前状态,打开或关闭与该层绑定的弹出窗口。

isPopupOpen() boolean

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

setPopupContent(<String|HTMLElement|Popup> content) this

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

getPopup() Popup

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

方法 返回值 说明
bindTooltip(<String|HTMLElement|Function|Tooltip> content, <Tooltip options> options?) this

将工具提示(tooltip)绑定到传入的图层 content 并设置必要的事件侦听器。如果一个 Function 被传递,它将接收图层作为第一个参数,并应返回 StringHTMLElement

unbindTooltip() this

移除之前用 bindTooltip 绑定的工具提示(tooltip)。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的工具提示(tooltip),如果没有指定 latlng,则在默认的锚点打开工具提示(tooltip)。

closeTooltip() this

如果该图层处于打开状态,则关闭绑定到该图层的工具提示。

toggleTooltip() this

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

isTooltipOpen() boolean

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

setTooltipContent(<String|HTMLElement|Tooltip> content) this

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

getTooltip() Tooltip

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

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

为对象的特定事件类型添加一个监听函数(fn)。你可以选择性地指定监听器的上下文(这个关键字将指向的对象)。你也可以传递几个空格分隔的类型(例如,'click dblclick')。

on(<Object> eventMap) this

添加一组 type/listener,例如 {click: onClick, mousemove: onMouseMove}

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

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

off(<Object> eventMap) this

删除一组 type/listener

off() this

移除该对象上所有事件的所有监听器。这包括隐含的附加事件。

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

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

listens(<String> type, <Boolean> propagate?) Boolean

如果一个特定的事件类型有任何监听器连接到它,则返回 true。验证可以选择性地被传播,如果父级有监听器连接到它,它将返回true

once() this

on(...)的行为一样,不过监听器只会被触发一次后然后被删除。

addEventParent(<Evented> obj) this

向父级 Evented 添加事件

removeEventParent(<Evented> obj) this

删除之前向父级 Evented 添加的事件

addEventListener() this

on(…)

removeEventListener() this

off(…)

clearAllEventListeners() this

off()

addOneTimeEventListener() this

once(…)

fireEvent() this

fire(…)

hasEventListeners() Boolean

listens(…)

Path 路径

一个抽象的类,包含了矢量覆盖物 (Polygon(多边形), Polyline(折线), Circle(圆形))之间共享的选项和常量。请不要直接使用它。扩展自 Layer 图层.

Options 选项

选项 类型 默认值 说明
stroke Boolean true 是否沿路径绘制边框。把它设置为false ,可以禁用多边形或圆形的边框。
color String '#3388ff' Stroke(描边)颜色
weight Number 3 Stroke(描边)宽度,单位:像素
opacity Number 1.0 Stroke(描边)的不透明度
lineCap String 'round' 定义描边 结束时使用的形状 的字符串。
lineJoin String 'round' 定义在描边 转角处使用的形状 的字符串。
dashArray String null 一个定义描边的点画线的 图案范式的字符串。 在一些旧的浏览器中,对 Canvas-powered 图层不起作用。
dashOffset String null 一个字符串,它定义了进入 dash 范式的距离,以 dash 开始。 在一些旧的浏览器中,对 Canvas-powered 图层不起作用。
fill Boolean depends 是否对路径进行颜色填充。设置为 false 可以禁止对多边形或圆形的填充。
fillColor String * 填充颜色。默认为 color 选项的值。
fillOpacity Number 0.2 填充的不透明度。
fillRule String 'evenodd' 一个字符串,定义 形状的内部区域 是如何被确定的。
bubblingMouseEvents Boolean true 当为 true时,这个路径上的鼠标事件将在地图上触发相同的事件 (除非使用 L.DomEvent.stopPropagation )。
renderer Renderer 在这个路径上使用这个特定的 Renderer(渲染器) 实例。 优先于地图的 default renderer(默认渲染器)
className String null 在一个元素上设置的自定义类名。仅适用于 SVG 渲染器。
选项 类型 默认值 说明
interactive Boolean true 如果是 false, 该图层将不会发出鼠标事件,而是作为底层地图的一部分。
选项 类型 默认值 说明
pane String 'overlayPane' 默认情况下,该图层将被添加到地图的 overlay pane(覆盖窗格)中。 覆盖该选项将导致该图层被默认放置在另一个窗格中。
attribution String null 归属控制中要显示的字符串,例如 "© OpenStreetMap 贡献者"。 它描述了图层数据,通常是对版权所有者和瓦片提供者的法律义务。

Events 事件

事件 数据 说明
click MouseEvent 当用户 click 或 tap 该图层时触发。
dblclick MouseEvent 当用户 double-click 或 double-tap 该图层时触发。
mousedown MouseEvent 当用户在该图层上按下鼠标按钮时触发。
mouseup MouseEvent 当用户在该图层上释放按下的鼠标按钮时触发。
mouseover MouseEvent 鼠标进入该图层时触发。
mouseout MouseEvent 当鼠标离开该图层时触发。
contextmenu MouseEvent 当用户在图层上点击右键时触发,如果该事件有监听者,可以防止显示默认的浏览器上下文菜单。在手机上,当用户保持单次触摸一秒钟(也叫长按)时也会触发。
事件 数据 说明
add Event 在图层添加到地图后触发
remove Event 从地图中移除图层后触发
事件 数据 说明
popupopen PopupEvent 当绑定到该层的 popup 打开时触发
popupclose PopupEvent 当绑定到该层的 popup 关闭时触发
事件 数据 说明
tooltipopen TooltipEvent 当绑定到该层的 tooltip 打开时触发。
tooltipclose TooltipEvent 当绑定到该层的 tooltip 关闭时触发。

Methods 方法

方法 返回值 说明
redraw() this

重绘该图层。在你改变了路径使用的坐标后,有时会很有用。

setStyle(<Path options> style) this

根据 Path options 对象中的选项,改变Path的外观。

bringToFront() this

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

bringToBack() this

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

方法 返回值 说明
addTo(<Map|LayerGroup> map) this

将图层添加到指定的地图或图层组(LayerGroup)。

remove() this

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

removeFrom(<Map> map) this

从指定的地图中删除图层

removeFrom(<LayerGroup> group) this

从指定的 LayerGroup 中删除该图层。

getPane(<String> name?) HTMLElement

返回代表地图上指定窗格的 HTMLElement。如果 name 被省略,则返回该层的窗格。

getAttribution() String

attribution 控件使用,返回 attribution 选项

方法 返回值 说明
bindPopup(<String|HTMLElement|Function|Popup> content, <Popup options> options?) this

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

unbindPopup() this 移除之前用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的弹出窗口,如果没有设置 latlng,则在默认的位置打开弹窗(popup)。

closePopup() this

如果与当前图层绑定的弹窗(popup)时打开的,则关闭当前弹窗。

togglePopup() this

根据当前状态,打开或关闭与该层绑定的弹出窗口。

isPopupOpen() boolean

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

setPopupContent(<String|HTMLElement|Popup> content) this

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

getPopup() Popup

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

方法 返回值 说明
bindTooltip(<String|HTMLElement|Function|Tooltip> content, <Tooltip options> options?) this

将工具提示(tooltip)绑定到传入的图层 content 并设置必要的事件侦听器。如果一个 Function 被传递,它将接收图层作为第一个参数,并应返回 StringHTMLElement

unbindTooltip() this

移除之前用 bindTooltip 绑定的工具提示(tooltip)。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的工具提示(tooltip),如果没有指定 latlng,则在默认的锚点打开工具提示(tooltip)。

closeTooltip() this

如果该图层处于打开状态,则关闭绑定到该图层的工具提示。

toggleTooltip() this

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

isTooltipOpen() boolean

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

setTooltipContent(<String|HTMLElement|Tooltip> content) this

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

getTooltip() Tooltip

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

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

为对象的特定事件类型添加一个监听函数(fn)。你可以选择性地指定监听器的上下文(这个关键字将指向的对象)。你也可以传递几个空格分隔的类型(例如,'click dblclick')。

on(<Object> eventMap) this

添加一组 type/listener,例如 {click: onClick, mousemove: onMouseMove}

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

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

off(<Object> eventMap) this

删除一组 type/listener

off() this

移除该对象上所有事件的所有监听器。这包括隐含的附加事件。

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

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

listens(<String> type, <Boolean> propagate?) Boolean

如果一个特定的事件类型有任何监听器连接到它,则返回 true。验证可以选择性地被传播,如果父级有监听器连接到它,它将返回true

once() this

on(...)的行为一样,不过监听器只会被触发一次后然后被删除。

addEventParent(<Evented> obj) this

向父级 Evented 添加事件

removeEventParent(<Evented> obj) this

删除之前向父级 Evented 添加的事件

addEventListener() this

on(…)

removeEventListener() this

off(…)

clearAllEventListeners() this

off()

addOneTimeEventListener() this

once(…)

fireEvent() this

fire(…)

hasEventListeners() Boolean

listens(…)

Polyline 折线

一个用于在地图上绘制折线覆盖物的类。扩展自 Path

使用示例

// 从LatLng点的数组中创建一条红色的折线
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(多段折线) 形状:

// 从一个 LatLng 点的数组中创建一条红色的多段折线
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]]
];

Creation

构造函数 说明
L.polyline(<LatLng[]> latlngs, <Polyline options> options?) 给出一个地理点数组和可选的选项对象,实例化一个 Polyline 对象。你可以通过传递一个地理点的数组来创建一个具有多条独立线的折线对象 (MultiPolyline) 。

Options 选项

选项 类型 默认值 说明
smoothFactor Number 1.0 在每个缩放级别简化多段线的程度。更多意味着更好的性能和更平滑的外观,而更少意味着更精确的表现。
noClip Boolean false 禁用折线剪裁。
选项 类型 默认值 说明
stroke Boolean true 是否沿路径绘制边框。把它设置为false ,可以禁用多边形或圆形的边框。
color String '#3388ff' Stroke(描边)颜色
weight Number 3 Stroke(描边)宽度,单位:像素
opacity Number 1.0 Stroke(描边)的不透明度
lineCap String 'round' 定义描边 结束时使用的形状 的字符串。
lineJoin String 'round' 定义在描边 转角处使用的形状 的字符串。
dashArray String null 一个定义描边的点画线的 图案范式的字符串。 在一些旧的浏览器中,对 Canvas-powered 图层不起作用。
dashOffset String null 一个字符串,它定义了进入 dash 范式的距离,以 dash 开始。 在一些旧的浏览器中,对 Canvas-powered 图层不起作用。
fill Boolean depends 是否对路径进行颜色填充。设置为 false 可以禁止对多边形或圆形的填充。
fillColor String * 填充颜色。默认为 color 选项的值。
fillOpacity Number 0.2 填充的不透明度。
fillRule String 'evenodd' 一个字符串,定义 形状的内部区域 是如何被确定的。
bubblingMouseEvents Boolean true 当为 true时,这个路径上的鼠标事件将在地图上触发相同的事件 (除非使用 L.DomEvent.stopPropagation )。
renderer Renderer 在这个路径上使用这个特定的 Renderer(渲染器) 实例。 优先于地图的 default renderer(默认渲染器)
className String null 在一个元素上设置的自定义类名。仅适用于 SVG 渲染器。
选项 类型 默认值 说明
interactive Boolean true 如果是 false, 该图层将不会发出鼠标事件,而是作为底层地图的一部分。
选项 类型 默认值 说明
pane String 'overlayPane' 默认情况下,该图层将被添加到地图的 overlay pane(覆盖窗格)中。 覆盖该选项将导致该图层被默认放置在另一个窗格中。
attribution String null 归属控制中要显示的字符串,例如 "© OpenStreetMap 贡献者"。 它描述了图层数据,通常是对版权所有者和瓦片提供者的法律义务。

Events 事件

事件 数据 说明
click MouseEvent 当用户 click 或 tap 该图层时触发。
dblclick MouseEvent 当用户 double-click 或 double-tap 该图层时触发。
mousedown MouseEvent 当用户在该图层上按下鼠标按钮时触发。
mouseup MouseEvent 当用户在该图层上释放按下的鼠标按钮时触发。
mouseover MouseEvent 鼠标进入该图层时触发。
mouseout MouseEvent 当鼠标离开该图层时触发。
contextmenu MouseEvent 当用户在图层上点击右键时触发,如果该事件有监听者,可以防止显示默认的浏览器上下文菜单。在手机上,当用户保持单次触摸一秒钟(也叫长按)时也会触发。
事件 数据 说明
add Event 在图层添加到地图后触发
remove Event 从地图中移除图层后触发
事件 数据 说明
popupopen PopupEvent 当绑定到该层的 popup 打开时触发
popupclose PopupEvent 当绑定到该层的 popup 关闭时触发
事件 数据 说明
tooltipopen TooltipEvent 当绑定到该层的 tooltip 打开时触发。
tooltipclose TooltipEvent 当绑定到该层的 tooltip 关闭时触发。

Methods 方法

方法 返回值 说明
toGeoJSON(<Number|false> precision?) Object

坐标值使用具有指定 precisionformatNum 函数进行四舍五入。返回折线的 GeoJSON 表示 (作为 GeoJSON LineStringMultiLineString Feature)。

getLatLngs() LatLng[]

返回 path(路径)中的点的数组,如果是多段折线,则返回点的嵌套数组。

setLatLngs(<LatLng[]> latlngs) this

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

isEmpty() Boolean

如果折线没有经纬度,则返回 true

closestLayerPoint(<Point> p) Point

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

getCenter() LatLng

返回折线的中心坐标 (centroid) 。

getBounds() LatLngBounds

返回路径的 LatLngBounds

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

将一个给定的点添加到折线上。默认情况下,如果是多段折线,会添加到折线的第一个环上,但是可以通过传递一个特定的环作为LatLng数组来重写(你可以提前用 getLatLngs访问)。

方法 返回值 说明
redraw() this

重绘该图层。在你改变了路径使用的坐标后,有时会很有用。

setStyle(<Path options> style) this

根据 Path options 对象中的选项,改变Path的外观。

bringToFront() this

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

bringToBack() this

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

方法 返回值 说明
addTo(<Map|LayerGroup> map) this

将图层添加到指定的地图或图层组(LayerGroup)。

remove() this

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

removeFrom(<Map> map) this

从指定的地图中删除图层

removeFrom(<LayerGroup> group) this

从指定的 LayerGroup 中删除该图层。

getPane(<String> name?) HTMLElement

返回代表地图上指定窗格的 HTMLElement。如果 name 被省略,则返回该层的窗格。

getAttribution() String

attribution 控件使用,返回 attribution 选项

方法 返回值 说明
bindPopup(<String|HTMLElement|Function|Popup> content, <Popup options> options?) this

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

unbindPopup() this 移除之前用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的弹出窗口,如果没有设置 latlng,则在默认的位置打开弹窗(popup)。

closePopup() this

如果与当前图层绑定的弹窗(popup)时打开的,则关闭当前弹窗。

togglePopup() this

根据当前状态,打开或关闭与该层绑定的弹出窗口。

isPopupOpen() boolean

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

setPopupContent(<String|HTMLElement|Popup> content) this

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

getPopup() Popup

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

方法 返回值 说明
bindTooltip(<String|HTMLElement|Function|Tooltip> content, <Tooltip options> options?) this

将工具提示(tooltip)绑定到传入的图层 content 并设置必要的事件侦听器。如果一个 Function 被传递,它将接收图层作为第一个参数,并应返回 StringHTMLElement

unbindTooltip() this

移除之前用 bindTooltip 绑定的工具提示(tooltip)。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的工具提示(tooltip),如果没有指定 latlng,则在默认的锚点打开工具提示(tooltip)。

closeTooltip() this

如果该图层处于打开状态,则关闭绑定到该图层的工具提示。

toggleTooltip() this

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

isTooltipOpen() boolean

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

setTooltipContent(<String|HTMLElement|Tooltip> content) this

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

getTooltip() Tooltip

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

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

为对象的特定事件类型添加一个监听函数(fn)。你可以选择性地指定监听器的上下文(这个关键字将指向的对象)。你也可以传递几个空格分隔的类型(例如,'click dblclick')。

on(<Object> eventMap) this

添加一组 type/listener,例如 {click: onClick, mousemove: onMouseMove}

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

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

off(<Object> eventMap) this

删除一组 type/listener

off() this

移除该对象上所有事件的所有监听器。这包括隐含的附加事件。

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

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

listens(<String> type, <Boolean> propagate?) Boolean

如果一个特定的事件类型有任何监听器连接到它,则返回 true。验证可以选择性地被传播,如果父级有监听器连接到它,它将返回true

once() this

on(...)的行为一样,不过监听器只会被触发一次后然后被删除。

addEventParent(<Evented> obj) this

向父级 Evented 添加事件

removeEventParent(<Evented> obj) this

删除之前向父级 Evented 添加的事件

addEventListener() this

on(…)

removeEventListener() this

off(…)

clearAllEventListeners() this

off()

addOneTimeEventListener() this

once(…)

fireEvent() this

fire(…)

hasEventListeners() Boolean

listens(…)

Polygon 多边形

一个用于在地图上绘制多边形覆盖物的类。扩展自Polyline

请注意,您在创建多边形时传递的最后一个点不应该和第一个相同 - 最好过滤掉这些点。

使用示例

// 从一个 LatLng 点的数组中创建一个红色的多边形
var latlngs = [[37, -109.05],[41, -109.03],[41, -102.05],[37, -102.04]];

var polygon = L.polygon(latlngs, {color: 'red'}).addTo(map);

// 将地图放大到多边形的位置
map.fitBounds(polygon.getBounds());

你也可以传递一个latlngs的数组,第一个数组代表外部形状,其他数组代表外部形状中的孔:

var latlngs = [
  [[37, -109.05],[41, -109.03],[41, -102.05],[37, -102.04]], // outer ring
  [[37.29, -108.58],[40.71, -108.58],[40.71, -102.50],[37.29, -102.50]] // hole
];

此外,你可以传递一个多维数组来表示一个MultiPolygon形状。

var latlngs = [
  [ // first polygon
    [[37, -109.05],[41, -109.03],[41, -102.05],[37, -102.04]], // outer ring
    [[37.29, -108.58],[40.71, -108.58],[40.71, -102.50],[37.29, -102.50]] // hole
  ],
  [ // second polygon
    [[41, -111.03],[45, -111.04],[45, -104.05],[41, -104.05]]
  ]
];

Creation

构造函数 说明
L.polygon(<LatLng[]> latlngs, <Polyline options> options?)

Options 选项

选项 类型 默认值 说明
smoothFactor Number 1.0 在每个缩放级别简化多段线的程度。更多意味着更好的性能和更平滑的外观,而更少意味着更精确的表现。
noClip Boolean false 禁用折线剪裁。
选项 类型 默认值 说明
stroke Boolean true 是否沿路径绘制边框。把它设置为false ,可以禁用多边形或圆形的边框。
color String '#3388ff' Stroke(描边)颜色
weight Number 3 Stroke(描边)宽度,单位:像素
opacity Number 1.0 Stroke(描边)的不透明度
lineCap String 'round' 定义描边 结束时使用的形状 的字符串。
lineJoin String 'round' 定义在描边 转角处使用的形状 的字符串。
dashArray String null 一个定义描边的点画线的 图案范式的字符串。 在一些旧的浏览器中,对 Canvas-powered 图层不起作用。
dashOffset String null 一个字符串,它定义了进入 dash 范式的距离,以 dash 开始。 在一些旧的浏览器中,对 Canvas-powered 图层不起作用。
fill Boolean depends 是否对路径进行颜色填充。设置为 false 可以禁止对多边形或圆形的填充。
fillColor String * 填充颜色。默认为 color 选项的值。
fillOpacity Number 0.2 填充的不透明度。
fillRule String 'evenodd' 一个字符串,定义 形状的内部区域 是如何被确定的。
bubblingMouseEvents Boolean true 当为 true时,这个路径上的鼠标事件将在地图上触发相同的事件 (除非使用 L.DomEvent.stopPropagation )。
renderer Renderer 在这个路径上使用这个特定的 Renderer(渲染器) 实例。 优先于地图的 default renderer(默认渲染器)
className String null 在一个元素上设置的自定义类名。仅适用于 SVG 渲染器。
选项 类型 默认值 说明
interactive Boolean true 如果是 false, 该图层将不会发出鼠标事件,而是作为底层地图的一部分。
选项 类型 默认值 说明
pane String 'overlayPane' 默认情况下,该图层将被添加到地图的 overlay pane(覆盖窗格)中。 覆盖该选项将导致该图层被默认放置在另一个窗格中。
attribution String null 归属控制中要显示的字符串,例如 "© OpenStreetMap 贡献者"。 它描述了图层数据,通常是对版权所有者和瓦片提供者的法律义务。

Events 事件

事件 数据 说明
click MouseEvent 当用户 click 或 tap 该图层时触发。
dblclick MouseEvent 当用户 double-click 或 double-tap 该图层时触发。
mousedown MouseEvent 当用户在该图层上按下鼠标按钮时触发。
mouseup MouseEvent 当用户在该图层上释放按下的鼠标按钮时触发。
mouseover MouseEvent 鼠标进入该图层时触发。
mouseout MouseEvent 当鼠标离开该图层时触发。
contextmenu MouseEvent 当用户在图层上点击右键时触发,如果该事件有监听者,可以防止显示默认的浏览器上下文菜单。在手机上,当用户保持单次触摸一秒钟(也叫长按)时也会触发。
事件 数据 说明
add Event 在图层添加到地图后触发
remove Event 从地图中移除图层后触发
事件 数据 说明
popupopen PopupEvent 当绑定到该层的 popup 打开时触发
popupclose PopupEvent 当绑定到该层的 popup 关闭时触发
事件 数据 说明
tooltipopen TooltipEvent 当绑定到该层的 tooltip 打开时触发。
tooltipclose TooltipEvent 当绑定到该层的 tooltip 关闭时触发。

Methods 方法

方法 返回值 说明
toGeoJSON(<Number|false> precision?) Object

坐标值使用具有指定 precisionformatNum 函数进行四舍五入。返回折线的 GeoJSON 表示 (作为 GeoJSON PolygonMultiPolygon Feature)。

方法 返回值 说明
getLatLngs() LatLng[]

返回 path(路径)中的点的数组,如果是多段折线,则返回点的嵌套数组。

setLatLngs(<LatLng[]> latlngs) this

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

isEmpty() Boolean

如果折线没有经纬度,则返回 true

closestLayerPoint(<Point> p) Point

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

getCenter() LatLng

返回折线的中心坐标 (centroid) 。

getBounds() LatLngBounds

返回路径的 LatLngBounds

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

将一个给定的点添加到折线上。默认情况下,如果是多段折线,会添加到折线的第一个环上,但是可以通过传递一个特定的环作为LatLng数组来重写(你可以提前用 getLatLngs访问)。

方法 返回值 说明
redraw() this

重绘该图层。在你改变了路径使用的坐标后,有时会很有用。

setStyle(<Path options> style) this

根据 Path options 对象中的选项,改变Path的外观。

bringToFront() this

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

bringToBack() this

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

方法 返回值 说明
addTo(<Map|LayerGroup> map) this

将图层添加到指定的地图或图层组(LayerGroup)。

remove() this

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

removeFrom(<Map> map) this

从指定的地图中删除图层

removeFrom(<LayerGroup> group) this

从指定的 LayerGroup 中删除该图层。

getPane(<String> name?) HTMLElement

返回代表地图上指定窗格的 HTMLElement。如果 name 被省略,则返回该层的窗格。

getAttribution() String

attribution 控件使用,返回 attribution 选项

方法 返回值 说明
bindPopup(<String|HTMLElement|Function|Popup> content, <Popup options> options?) this

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

unbindPopup() this 移除之前用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的弹出窗口,如果没有设置 latlng,则在默认的位置打开弹窗(popup)。

closePopup() this

如果与当前图层绑定的弹窗(popup)时打开的,则关闭当前弹窗。

togglePopup() this

根据当前状态,打开或关闭与该层绑定的弹出窗口。

isPopupOpen() boolean

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

setPopupContent(<String|HTMLElement|Popup> content) this

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

getPopup() Popup

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

方法 返回值 说明
bindTooltip(<String|HTMLElement|Function|Tooltip> content, <Tooltip options> options?) this

将工具提示(tooltip)绑定到传入的图层 content 并设置必要的事件侦听器。如果一个 Function 被传递,它将接收图层作为第一个参数,并应返回 StringHTMLElement

unbindTooltip() this

移除之前用 bindTooltip 绑定的工具提示(tooltip)。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的工具提示(tooltip),如果没有指定 latlng,则在默认的锚点打开工具提示(tooltip)。

closeTooltip() this

如果该图层处于打开状态,则关闭绑定到该图层的工具提示。

toggleTooltip() this

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

isTooltipOpen() boolean

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

setTooltipContent(<String|HTMLElement|Tooltip> content) this

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

getTooltip() Tooltip

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

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

为对象的特定事件类型添加一个监听函数(fn)。你可以选择性地指定监听器的上下文(这个关键字将指向的对象)。你也可以传递几个空格分隔的类型(例如,'click dblclick')。

on(<Object> eventMap) this

添加一组 type/listener,例如 {click: onClick, mousemove: onMouseMove}

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

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

off(<Object> eventMap) this

删除一组 type/listener

off() this

移除该对象上所有事件的所有监听器。这包括隐含的附加事件。

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

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

listens(<String> type, <Boolean> propagate?) Boolean

如果一个特定的事件类型有任何监听器连接到它,则返回 true。验证可以选择性地被传播,如果父级有监听器连接到它,它将返回true

once() this

on(...)的行为一样,不过监听器只会被触发一次后然后被删除。

addEventParent(<Evented> obj) this

向父级 Evented 添加事件

removeEventParent(<Evented> obj) this

删除之前向父级 Evented 添加的事件

addEventListener() this

on(…)

removeEventListener() this

off(…)

clearAllEventListeners() this

off()

addOneTimeEventListener() this

once(…)

fireEvent() this

fire(…)

hasEventListeners() Boolean

listens(…)

Rectangle 矩形

一个用于在地图上绘制矩形覆盖物的类。扩展自 Polygon

使用示例

// 定义矩形的地理边界
var bounds = [[54.559322, -5.767822], [56.1210604, -3.021240]];

// 创建一个橙色的矩形
L.rectangle(bounds, {color: "#ff7800", weight: 1}).addTo(map);

// 将地图放大到矩形的边界上
map.fitBounds(bounds);

Creation

构造函数 说明
L.rectangle(<LatLngBounds> latLngBounds, <Polyline options> options?)

Options 选项

选项 类型 默认值 说明
smoothFactor Number 1.0 在每个缩放级别简化多段线的程度。更多意味着更好的性能和更平滑的外观,而更少意味着更精确的表现。
noClip Boolean false 禁用折线剪裁。
选项 类型 默认值 说明
stroke Boolean true 是否沿路径绘制边框。把它设置为false ,可以禁用多边形或圆形的边框。
color String '#3388ff' Stroke(描边)颜色
weight Number 3 Stroke(描边)宽度,单位:像素
opacity Number 1.0 Stroke(描边)的不透明度
lineCap String 'round' 定义描边 结束时使用的形状 的字符串。
lineJoin String 'round' 定义在描边 转角处使用的形状 的字符串。
dashArray String null 一个定义描边的点画线的 图案范式的字符串。 在一些旧的浏览器中,对 Canvas-powered 图层不起作用。
dashOffset String null 一个字符串,它定义了进入 dash 范式的距离,以 dash 开始。 在一些旧的浏览器中,对 Canvas-powered 图层不起作用。
fill Boolean depends 是否对路径进行颜色填充。设置为 false 可以禁止对多边形或圆形的填充。
fillColor String * 填充颜色。默认为 color 选项的值。
fillOpacity Number 0.2 填充的不透明度。
fillRule String 'evenodd' 一个字符串,定义 形状的内部区域 是如何被确定的。
bubblingMouseEvents Boolean true 当为 true时,这个路径上的鼠标事件将在地图上触发相同的事件 (除非使用 L.DomEvent.stopPropagation )。
renderer Renderer 在这个路径上使用这个特定的 Renderer(渲染器) 实例。 优先于地图的 default renderer(默认渲染器)
className String null 在一个元素上设置的自定义类名。仅适用于 SVG 渲染器。
选项 类型 默认值 说明
interactive Boolean true 如果是 false, 该图层将不会发出鼠标事件,而是作为底层地图的一部分。
选项 类型 默认值 说明
pane String 'overlayPane' 默认情况下,该图层将被添加到地图的 overlay pane(覆盖窗格)中。 覆盖该选项将导致该图层被默认放置在另一个窗格中。
attribution String null 归属控制中要显示的字符串,例如 "© OpenStreetMap 贡献者"。 它描述了图层数据,通常是对版权所有者和瓦片提供者的法律义务。

Events 事件

事件 数据 说明
click MouseEvent 当用户 click 或 tap 该图层时触发。
dblclick MouseEvent 当用户 double-click 或 double-tap 该图层时触发。
mousedown MouseEvent 当用户在该图层上按下鼠标按钮时触发。
mouseup MouseEvent 当用户在该图层上释放按下的鼠标按钮时触发。
mouseover MouseEvent 鼠标进入该图层时触发。
mouseout MouseEvent 当鼠标离开该图层时触发。
contextmenu MouseEvent 当用户在图层上点击右键时触发,如果该事件有监听者,可以防止显示默认的浏览器上下文菜单。在手机上,当用户保持单次触摸一秒钟(也叫长按)时也会触发。
事件 数据 说明
add Event 在图层添加到地图后触发
remove Event 从地图中移除图层后触发
事件 数据 说明
popupopen PopupEvent 当绑定到该层的 popup 打开时触发
popupclose PopupEvent 当绑定到该层的 popup 关闭时触发
事件 数据 说明
tooltipopen TooltipEvent 当绑定到该层的 tooltip 打开时触发。
tooltipclose TooltipEvent 当绑定到该层的 tooltip 关闭时触发。

Methods 方法

方法 返回值 说明
setBounds(<LatLngBounds> latLngBounds) this

用传递的边界重绘矩形。

方法 返回值 说明
toGeoJSON(<Number|false> precision?) Object

坐标值使用具有指定 precisionformatNum 函数进行四舍五入。返回折线的 GeoJSON 表示 (作为 GeoJSON PolygonMultiPolygon Feature)。

方法 返回值 说明
getLatLngs() LatLng[]

返回 path(路径)中的点的数组,如果是多段折线,则返回点的嵌套数组。

setLatLngs(<LatLng[]> latlngs) this

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

isEmpty() Boolean

如果折线没有经纬度,则返回 true

closestLayerPoint(<Point> p) Point

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

getCenter() LatLng

返回折线的中心坐标 (centroid) 。

getBounds() LatLngBounds

返回路径的 LatLngBounds

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

将一个给定的点添加到折线上。默认情况下,如果是多段折线,会添加到折线的第一个环上,但是可以通过传递一个特定的环作为LatLng数组来重写(你可以提前用 getLatLngs访问)。

方法 返回值 说明
redraw() this

重绘该图层。在你改变了路径使用的坐标后,有时会很有用。

setStyle(<Path options> style) this

根据 Path options 对象中的选项,改变Path的外观。

bringToFront() this

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

bringToBack() this

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

方法 返回值 说明
addTo(<Map|LayerGroup> map) this

将图层添加到指定的地图或图层组(LayerGroup)。

remove() this

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

removeFrom(<Map> map) this

从指定的地图中删除图层

removeFrom(<LayerGroup> group) this

从指定的 LayerGroup 中删除该图层。

getPane(<String> name?) HTMLElement

返回代表地图上指定窗格的 HTMLElement。如果 name 被省略,则返回该层的窗格。

getAttribution() String

attribution 控件使用,返回 attribution 选项

方法 返回值 说明
bindPopup(<String|HTMLElement|Function|Popup> content, <Popup options> options?) this

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

unbindPopup() this 移除之前用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的弹出窗口,如果没有设置 latlng,则在默认的位置打开弹窗(popup)。

closePopup() this

如果与当前图层绑定的弹窗(popup)时打开的,则关闭当前弹窗。

togglePopup() this

根据当前状态,打开或关闭与该层绑定的弹出窗口。

isPopupOpen() boolean

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

setPopupContent(<String|HTMLElement|Popup> content) this

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

getPopup() Popup

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

方法 返回值 说明
bindTooltip(<String|HTMLElement|Function|Tooltip> content, <Tooltip options> options?) this

将工具提示(tooltip)绑定到传入的图层 content 并设置必要的事件侦听器。如果一个 Function 被传递,它将接收图层作为第一个参数,并应返回 StringHTMLElement

unbindTooltip() this

移除之前用 bindTooltip 绑定的工具提示(tooltip)。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的工具提示(tooltip),如果没有指定 latlng,则在默认的锚点打开工具提示(tooltip)。

closeTooltip() this

如果该图层处于打开状态,则关闭绑定到该图层的工具提示。

toggleTooltip() this

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

isTooltipOpen() boolean

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

setTooltipContent(<String|HTMLElement|Tooltip> content) this

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

getTooltip() Tooltip

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

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

为对象的特定事件类型添加一个监听函数(fn)。你可以选择性地指定监听器的上下文(这个关键字将指向的对象)。你也可以传递几个空格分隔的类型(例如,'click dblclick')。

on(<Object> eventMap) this

添加一组 type/listener,例如 {click: onClick, mousemove: onMouseMove}

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

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

off(<Object> eventMap) this

删除一组 type/listener

off() this

移除该对象上所有事件的所有监听器。这包括隐含的附加事件。

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

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

listens(<String> type, <Boolean> propagate?) Boolean

如果一个特定的事件类型有任何监听器连接到它,则返回 true。验证可以选择性地被传播,如果父级有监听器连接到它,它将返回true

once() this

on(...)的行为一样,不过监听器只会被触发一次后然后被删除。

addEventParent(<Evented> obj) this

向父级 Evented 添加事件

removeEventParent(<Evented> obj) this

删除之前向父级 Evented 添加的事件

addEventListener() this

on(…)

removeEventListener() this

off(…)

clearAllEventListeners() this

off()

addOneTimeEventListener() this

once(…)

fireEvent() this

fire(…)

hasEventListeners() Boolean

listens(…)

Circle 圆形

一个用于在地图上绘制圆形覆盖物的类。扩展自 CircleMarker

这是一个近似值,在接近两极时开始与真实的圆相背离(由于投影失真)。

使用示例

L.circle([50.5, 30.5], {radius: 200}).addTo(map);

Creation

构造函数 说明
L.circle(<LatLng> latlng, <Circle options> options?) 给出一个地理点和一个包含圆半径的选项对象,实例化一个 circle 对象。
L.circle(<LatLng> latlng, <Number> radius, <Circle options> options?) 为了与 0.7.x 代码兼容,实例化 circle 的方法已经过时了。请不要在新的应用程序或插件中使用。

Options 选项

选项 类型 默认值 说明
radius Number 圆的半径,以米为单位。
选项 类型 默认值 说明
stroke Boolean true 是否沿路径绘制边框。把它设置为false ,可以禁用多边形或圆形的边框。
color String '#3388ff' Stroke(描边)颜色
weight Number 3 Stroke(描边)宽度,单位:像素
opacity Number 1.0 Stroke(描边)的不透明度
lineCap String 'round' 定义描边 结束时使用的形状 的字符串。
lineJoin String 'round' 定义在描边 转角处使用的形状 的字符串。
dashArray String null 一个定义描边的点画线的 图案范式的字符串。 在一些旧的浏览器中,对 Canvas-powered 图层不起作用。
dashOffset String null 一个字符串,它定义了进入 dash 范式的距离,以 dash 开始。 在一些旧的浏览器中,对 Canvas-powered 图层不起作用。
fill Boolean depends 是否对路径进行颜色填充。设置为 false 可以禁止对多边形或圆形的填充。
fillColor String * 填充颜色。默认为 color 选项的值。
fillOpacity Number 0.2 填充的不透明度。
fillRule String 'evenodd' 一个字符串,定义 形状的内部区域 是如何被确定的。
bubblingMouseEvents Boolean true 当为 true时,这个路径上的鼠标事件将在地图上触发相同的事件 (除非使用 L.DomEvent.stopPropagation )。
renderer Renderer 在这个路径上使用这个特定的 Renderer(渲染器) 实例。 优先于地图的 default renderer(默认渲染器)
className String null 在一个元素上设置的自定义类名。仅适用于 SVG 渲染器。
选项 类型 默认值 说明
interactive Boolean true 如果是 false, 该图层将不会发出鼠标事件,而是作为底层地图的一部分。
选项 类型 默认值 说明
pane String 'overlayPane' 默认情况下,该图层将被添加到地图的 overlay pane(覆盖窗格)中。 覆盖该选项将导致该图层被默认放置在另一个窗格中。
attribution String null 归属控制中要显示的字符串,例如 "© OpenStreetMap 贡献者"。 它描述了图层数据,通常是对版权所有者和瓦片提供者的法律义务。

Events 事件

事件 数据 说明
move Event 当标记通过 setLatLng移动时触发该事件,并且旧坐标和新坐标会作为 oldLatLnglatlng 包含在事件参数中。
事件 数据 说明
click MouseEvent 当用户 click 或 tap 该图层时触发。
dblclick MouseEvent 当用户 double-click 或 double-tap 该图层时触发。
mousedown MouseEvent 当用户在该图层上按下鼠标按钮时触发。
mouseup MouseEvent 当用户在该图层上释放按下的鼠标按钮时触发。
mouseover MouseEvent 鼠标进入该图层时触发。
mouseout MouseEvent 当鼠标离开该图层时触发。
contextmenu MouseEvent 当用户在图层上点击右键时触发,如果该事件有监听者,可以防止显示默认的浏览器上下文菜单。在手机上,当用户保持单次触摸一秒钟(也叫长按)时也会触发。
事件 数据 说明
add Event 在图层添加到地图后触发
remove Event 从地图中移除图层后触发
事件 数据 说明
popupopen PopupEvent 当绑定到该层的 popup 打开时触发
popupclose PopupEvent 当绑定到该层的 popup 关闭时触发
事件 数据 说明
tooltipopen TooltipEvent 当绑定到该层的 tooltip 打开时触发。
tooltipclose TooltipEvent 当绑定到该层的 tooltip 关闭时触发。

Methods 方法

方法 返回值 说明
setRadius(<Number> radius) this

设置一个圆的半径。单位是米。

getRadius() Number

返回一个圆的当前半径。单位是米。

getBounds() LatLngBounds

返回路径的 LatLngBounds

方法 返回值 说明
toGeoJSON(<Number|false> precision?) Object

坐标值使用具有指定 precisionformatNum 函数进行四舍五入。返回折线的 GeoJSON 表示 (作为 GeoJSON Point Feature)。

setLatLng(<LatLng> latLng) this

将 CircleMarker 的位置设置为新位置。

getLatLng() LatLng

返回 CircleMarker 的当前地理位置。

方法 返回值 说明
redraw() this

重绘该图层。在你改变了路径使用的坐标后,有时会很有用。

setStyle(<Path options> style) this

根据 Path options 对象中的选项,改变Path的外观。

bringToFront() this

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

bringToBack() this

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

方法 返回值 说明
addTo(<Map|LayerGroup> map) this

将图层添加到指定的地图或图层组(LayerGroup)。

remove() this

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

removeFrom(<Map> map) this

从指定的地图中删除图层

removeFrom(<LayerGroup> group) this

从指定的 LayerGroup 中删除该图层。

getPane(<String> name?) HTMLElement

返回代表地图上指定窗格的 HTMLElement。如果 name 被省略,则返回该层的窗格。

getAttribution() String

attribution 控件使用,返回 attribution 选项

方法 返回值 说明
bindPopup(<String|HTMLElement|Function|Popup> content, <Popup options> options?) this

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

unbindPopup() this 移除之前用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的弹出窗口,如果没有设置 latlng,则在默认的位置打开弹窗(popup)。

closePopup() this

如果与当前图层绑定的弹窗(popup)时打开的,则关闭当前弹窗。

togglePopup() this

根据当前状态,打开或关闭与该层绑定的弹出窗口。

isPopupOpen() boolean

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

setPopupContent(<String|HTMLElement|Popup> content) this

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

getPopup() Popup

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

方法 返回值 说明
bindTooltip(<String|HTMLElement|Function|Tooltip> content, <Tooltip options> options?) this

将工具提示(tooltip)绑定到传入的图层 content 并设置必要的事件侦听器。如果一个 Function 被传递,它将接收图层作为第一个参数,并应返回 StringHTMLElement

unbindTooltip() this

移除之前用 bindTooltip 绑定的工具提示(tooltip)。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的工具提示(tooltip),如果没有指定 latlng,则在默认的锚点打开工具提示(tooltip)。

closeTooltip() this

如果该图层处于打开状态,则关闭绑定到该图层的工具提示。

toggleTooltip() this

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

isTooltipOpen() boolean

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

setTooltipContent(<String|HTMLElement|Tooltip> content) this

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

getTooltip() Tooltip

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

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

为对象的特定事件类型添加一个监听函数(fn)。你可以选择性地指定监听器的上下文(这个关键字将指向的对象)。你也可以传递几个空格分隔的类型(例如,'click dblclick')。

on(<Object> eventMap) this

添加一组 type/listener,例如 {click: onClick, mousemove: onMouseMove}

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

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

off(<Object> eventMap) this

删除一组 type/listener

off() this

移除该对象上所有事件的所有监听器。这包括隐含的附加事件。

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

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

listens(<String> type, <Boolean> propagate?) Boolean

如果一个特定的事件类型有任何监听器连接到它,则返回 true。验证可以选择性地被传播,如果父级有监听器连接到它,它将返回true

once() this

on(...)的行为一样,不过监听器只会被触发一次后然后被删除。

addEventParent(<Evented> obj) this

向父级 Evented 添加事件

removeEventParent(<Evented> obj) this

删除之前向父级 Evented 添加的事件

addEventListener() this

on(…)

removeEventListener() this

off(…)

clearAllEventListeners() this

off()

addOneTimeEventListener() this

once(…)

fireEvent() this

fire(…)

hasEventListeners() Boolean

listens(…)

CircleMarker 圆形标记

一个固定大小的圆,半径以像素指定。扩展自 Path

Creation

构造函数 说明
L.circleMarker(<LatLng> latlng, <CircleMarker options> options?) 给出一个地理点和一个可选的选项对象,实例化一个圆形标记对象。

Options 选项

选项 类型 默认值 说明
radius Number 10 圆形标记的半径,单位是像素
选项 类型 默认值 说明
stroke Boolean true 是否沿路径绘制边框。把它设置为false ,可以禁用多边形或圆形的边框。
color String '#3388ff' Stroke(描边)颜色
weight Number 3 Stroke(描边)宽度,单位:像素
opacity Number 1.0 Stroke(描边)的不透明度
lineCap String 'round' 定义描边 结束时使用的形状 的字符串。
lineJoin String 'round' 定义在描边 转角处使用的形状 的字符串。
dashArray String null 一个定义描边的点画线的 图案范式的字符串。 在一些旧的浏览器中,对 Canvas-powered 图层不起作用。
dashOffset String null 一个字符串,它定义了进入 dash 范式的距离,以 dash 开始。 在一些旧的浏览器中,对 Canvas-powered 图层不起作用。
fill Boolean depends 是否对路径进行颜色填充。设置为 false 可以禁止对多边形或圆形的填充。
fillColor String * 填充颜色。默认为 color 选项的值。
fillOpacity Number 0.2 填充的不透明度。
fillRule String 'evenodd' 一个字符串,定义 形状的内部区域 是如何被确定的。
bubblingMouseEvents Boolean true 当为 true时,这个路径上的鼠标事件将在地图上触发相同的事件 (除非使用 L.DomEvent.stopPropagation )。
renderer Renderer 在这个路径上使用这个特定的 Renderer(渲染器) 实例。 优先于地图的 default renderer(默认渲染器)
className String null 在一个元素上设置的自定义类名。仅适用于 SVG 渲染器。
选项 类型 默认值 说明
interactive Boolean true 如果是 false, 该图层将不会发出鼠标事件,而是作为底层地图的一部分。
选项 类型 默认值 说明
pane String 'overlayPane' 默认情况下,该图层将被添加到地图的 overlay pane(覆盖窗格)中。 覆盖该选项将导致该图层被默认放置在另一个窗格中。
attribution String null 归属控制中要显示的字符串,例如 "© OpenStreetMap 贡献者"。 它描述了图层数据,通常是对版权所有者和瓦片提供者的法律义务。

Events 事件

事件 数据 说明
move Event 当标记通过 setLatLng移动时触发该事件,并且旧坐标和新坐标会作为 oldLatLnglatlng 包含在事件参数中。
事件 数据 说明
click MouseEvent 当用户 click 或 tap 该图层时触发。
dblclick MouseEvent 当用户 double-click 或 double-tap 该图层时触发。
mousedown MouseEvent 当用户在该图层上按下鼠标按钮时触发。
mouseup MouseEvent 当用户在该图层上释放按下的鼠标按钮时触发。
mouseover MouseEvent 鼠标进入该图层时触发。
mouseout MouseEvent 当鼠标离开该图层时触发。
contextmenu MouseEvent 当用户在图层上点击右键时触发,如果该事件有监听者,可以防止显示默认的浏览器上下文菜单。在手机上,当用户保持单次触摸一秒钟(也叫长按)时也会触发。
事件 数据 说明
add Event 在图层添加到地图后触发
remove Event 从地图中移除图层后触发
事件 数据 说明
popupopen PopupEvent 当绑定到该层的 popup 打开时触发
popupclose PopupEvent 当绑定到该层的 popup 关闭时触发
事件 数据 说明
tooltipopen TooltipEvent 当绑定到该层的 tooltip 打开时触发。
tooltipclose TooltipEvent 当绑定到该层的 tooltip 关闭时触发。

Methods 方法

方法 返回值 说明
toGeoJSON(<Number|false> precision?) Object

坐标值使用具有指定 precisionformatNum 函数进行四舍五入。返回折线的 GeoJSON 表示 (作为 GeoJSON Point Feature)。

setLatLng(<LatLng> latLng) this

将 CircleMarker 的位置设置为新位置。

getLatLng() LatLng

返回 CircleMarker 的当前地理位置。

setRadius(<Number> radius) this

设置圆形标记的半径。单位是像素。

getRadius() Number

返回圆的当前半径

方法 返回值 说明
redraw() this

重绘该图层。在你改变了路径使用的坐标后,有时会很有用。

setStyle(<Path options> style) this

根据 Path options 对象中的选项,改变Path的外观。

bringToFront() this

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

bringToBack() this

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

方法 返回值 说明
addTo(<Map|LayerGroup> map) this

将图层添加到指定的地图或图层组(LayerGroup)。

remove() this

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

removeFrom(<Map> map) this

从指定的地图中删除图层

removeFrom(<LayerGroup> group) this

从指定的 LayerGroup 中删除该图层。

getPane(<String> name?) HTMLElement

返回代表地图上指定窗格的 HTMLElement。如果 name 被省略,则返回该层的窗格。

getAttribution() String

attribution 控件使用,返回 attribution 选项

方法 返回值 说明
bindPopup(<String|HTMLElement|Function|Popup> content, <Popup options> options?) this

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

unbindPopup() this 移除之前用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的弹出窗口,如果没有设置 latlng,则在默认的位置打开弹窗(popup)。

closePopup() this

如果与当前图层绑定的弹窗(popup)时打开的,则关闭当前弹窗。

togglePopup() this

根据当前状态,打开或关闭与该层绑定的弹出窗口。

isPopupOpen() boolean

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

setPopupContent(<String|HTMLElement|Popup> content) this

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

getPopup() Popup

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

方法 返回值 说明
bindTooltip(<String|HTMLElement|Function|Tooltip> content, <Tooltip options> options?) this

将工具提示(tooltip)绑定到传入的图层 content 并设置必要的事件侦听器。如果一个 Function 被传递,它将接收图层作为第一个参数,并应返回 StringHTMLElement

unbindTooltip() this

移除之前用 bindTooltip 绑定的工具提示(tooltip)。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的工具提示(tooltip),如果没有指定 latlng,则在默认的锚点打开工具提示(tooltip)。

closeTooltip() this

如果该图层处于打开状态,则关闭绑定到该图层的工具提示。

toggleTooltip() this

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

isTooltipOpen() boolean

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

setTooltipContent(<String|HTMLElement|Tooltip> content) this

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

getTooltip() Tooltip

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

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

为对象的特定事件类型添加一个监听函数(fn)。你可以选择性地指定监听器的上下文(这个关键字将指向的对象)。你也可以传递几个空格分隔的类型(例如,'click dblclick')。

on(<Object> eventMap) this

添加一组 type/listener,例如 {click: onClick, mousemove: onMouseMove}

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

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

off(<Object> eventMap) this

删除一组 type/listener

off() this

移除该对象上所有事件的所有监听器。这包括隐含的附加事件。

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

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

listens(<String> type, <Boolean> propagate?) Boolean

如果一个特定的事件类型有任何监听器连接到它,则返回 true。验证可以选择性地被传播,如果父级有监听器连接到它,它将返回true

once() this

on(...)的行为一样,不过监听器只会被触发一次后然后被删除。

addEventParent(<Evented> obj) this

向父级 Evented 添加事件

removeEventParent(<Evented> obj) this

删除之前向父级 Evented 添加的事件

addEventListener() this

on(…)

removeEventListener() this

off(…)

clearAllEventListeners() this

off()

addOneTimeEventListener() this

once(…)

fireEvent() this

fire(…)

hasEventListeners() Boolean

listens(…)

SVG 矢量渲染器

VML 在2012年被废弃,这意味着 VML 功能的存在只是为了向后兼容旧版本的 Internet Explorer。

允许矢量图层用 SVG显示。继承 Renderer

由于 技术限制, SVG并不是 并非所有的网络浏览器都可以使用,特别是 Android 2.x 和 3.x 。

虽然IE7和IE8上没有SVG,但这些浏览器都支持 VML (一种现已被废弃的技术),在这种情况下,SVG 渲染器会退回到 VML。

使用示例

对地图中的所有路径默认使用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 } );

Creation

构造函数 说明
L.svg(<Renderer options> options?) 用给定的选项创建一个SVG渲染器。

Options 选项

选项 类型 默认值 说明
padding Number 0.1 在地图视图周围填充多少剪切区域(相对于其大小),例如0.1是在每个方向填充地图视图的10%
选项 类型 默认值 说明
pane String 'overlayPane' 默认情况下,该图层将被添加到地图的 overlay pane(覆盖窗格)中。 覆盖该选项将导致该图层被默认放置在另一个窗格中。
attribution String null 归属控制中要显示的字符串,例如 "© OpenStreetMap 贡献者"。 它描述了图层数据,通常是对版权所有者和瓦片提供者的法律义务。

Events 事件

事件 数据 说明
update Event 当渲染器更新边界、中心和缩放时触发,例如地图移动时
事件 数据 说明
add Event 在图层添加到地图后触发
remove Event 从地图中移除图层后触发
事件 数据 说明
popupopen PopupEvent 当绑定到该层的 popup 打开时触发
popupclose PopupEvent 当绑定到该层的 popup 关闭时触发
事件 数据 说明
tooltipopen TooltipEvent 当绑定到该层的 tooltip 打开时触发。
tooltipclose TooltipEvent 当绑定到该层的 tooltip 关闭时触发。

Methods 方法

方法 返回值 说明
addTo(<Map|LayerGroup> map) this

将图层添加到指定的地图或图层组(LayerGroup)。

remove() this

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

removeFrom(<Map> map) this

从指定的地图中删除图层

removeFrom(<LayerGroup> group) this

从指定的 LayerGroup 中删除该图层。

getPane(<String> name?) HTMLElement

返回代表地图上指定窗格的 HTMLElement。如果 name 被省略,则返回该层的窗格。

getAttribution() String

attribution 控件使用,返回 attribution 选项

方法 返回值 说明
bindPopup(<String|HTMLElement|Function|Popup> content, <Popup options> options?) this

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

unbindPopup() this 移除之前用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的弹出窗口,如果没有设置 latlng,则在默认的位置打开弹窗(popup)。

closePopup() this

如果与当前图层绑定的弹窗(popup)时打开的,则关闭当前弹窗。

togglePopup() this

根据当前状态,打开或关闭与该层绑定的弹出窗口。

isPopupOpen() boolean

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

setPopupContent(<String|HTMLElement|Popup> content) this

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

getPopup() Popup

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

方法 返回值 说明
bindTooltip(<String|HTMLElement|Function|Tooltip> content, <Tooltip options> options?) this

将工具提示(tooltip)绑定到传入的图层 content 并设置必要的事件侦听器。如果一个 Function 被传递,它将接收图层作为第一个参数,并应返回 StringHTMLElement

unbindTooltip() this

移除之前用 bindTooltip 绑定的工具提示(tooltip)。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的工具提示(tooltip),如果没有指定 latlng,则在默认的锚点打开工具提示(tooltip)。

closeTooltip() this

如果该图层处于打开状态,则关闭绑定到该图层的工具提示。

toggleTooltip() this

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

isTooltipOpen() boolean

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

setTooltipContent(<String|HTMLElement|Tooltip> content) this

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

getTooltip() Tooltip

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

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

为对象的特定事件类型添加一个监听函数(fn)。你可以选择性地指定监听器的上下文(这个关键字将指向的对象)。你也可以传递几个空格分隔的类型(例如,'click dblclick')。

on(<Object> eventMap) this

添加一组 type/listener,例如 {click: onClick, mousemove: onMouseMove}

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

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

off(<Object> eventMap) this

删除一组 type/listener

off() this

移除该对象上所有事件的所有监听器。这包括隐含的附加事件。

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

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

listens(<String> type, <Boolean> propagate?) Boolean

如果一个特定的事件类型有任何监听器连接到它,则返回 true。验证可以选择性地被传播,如果父级有监听器连接到它,它将返回true

once() this

on(...)的行为一样,不过监听器只会被触发一次后然后被删除。

addEventParent(<Evented> obj) this

向父级 Evented 添加事件

removeEventParent(<Evented> obj) this

删除之前向父级 Evented 添加的事件

addEventListener() this

on(…)

removeEventListener() this

off(…)

clearAllEventListeners() this

off()

addOneTimeEventListener() this

once(…)

fireEvent() this

fire(…)

hasEventListeners() Boolean

listens(…)

Functions

有几个静态函数可以不通过实例化L.SVG来调用:
Function 返回值 说明
create(<String> name) SVGElement 返回一个 SVGElement的实例,与传递的类名对应。例如,使用 'line' 将返回一个 SVGLineElement的实例。
pointsToPath(<Point[]> rings, <Boolean> closed) String 生成一个多环的SVG路径字符串,每个环变成 "M..L..L.." 的指示

Canvas 矢量渲染器

允许用 <canvas>来显示矢量图层。继承 Renderer

由于 技术限制, 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 } );

Creation

构造函数 说明
L.canvas(<Renderer options> options?) 用给定的选项创建一个Canvas渲染器。

Options 选项

选项 类型 默认值 说明
tolerance Number 0 地图上的 path/object 的点击区域要增加多少
选项 类型 默认值 说明
padding Number 0.1 在地图视图周围填充多少剪切区域(相对于其大小),例如0.1是在每个方向填充地图视图的10%
选项 类型 默认值 说明
pane String 'overlayPane' 默认情况下,该图层将被添加到地图的 overlay pane(覆盖窗格)中。 覆盖该选项将导致该图层被默认放置在另一个窗格中。
attribution String null 归属控制中要显示的字符串,例如 "© OpenStreetMap 贡献者"。 它描述了图层数据,通常是对版权所有者和瓦片提供者的法律义务。

Events 事件

事件 数据 说明
update Event 当渲染器更新边界、中心和缩放时触发,例如地图移动时
事件 数据 说明
add Event 在图层添加到地图后触发
remove Event 从地图中移除图层后触发
事件 数据 说明
popupopen PopupEvent 当绑定到该层的 popup 打开时触发
popupclose PopupEvent 当绑定到该层的 popup 关闭时触发
事件 数据 说明
tooltipopen TooltipEvent 当绑定到该层的 tooltip 打开时触发。
tooltipclose TooltipEvent 当绑定到该层的 tooltip 关闭时触发。

Methods 方法

方法 返回值 说明
addTo(<Map|LayerGroup> map) this

将图层添加到指定的地图或图层组(LayerGroup)。

remove() this

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

removeFrom(<Map> map) this

从指定的地图中删除图层

removeFrom(<LayerGroup> group) this

从指定的 LayerGroup 中删除该图层。

getPane(<String> name?) HTMLElement

返回代表地图上指定窗格的 HTMLElement。如果 name 被省略,则返回该层的窗格。

getAttribution() String

attribution 控件使用,返回 attribution 选项

方法 返回值 说明
bindPopup(<String|HTMLElement|Function|Popup> content, <Popup options> options?) this

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

unbindPopup() this 移除之前用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的弹出窗口,如果没有设置 latlng,则在默认的位置打开弹窗(popup)。

closePopup() this

如果与当前图层绑定的弹窗(popup)时打开的,则关闭当前弹窗。

togglePopup() this

根据当前状态,打开或关闭与该层绑定的弹出窗口。

isPopupOpen() boolean

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

setPopupContent(<String|HTMLElement|Popup> content) this

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

getPopup() Popup

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

方法 返回值 说明
bindTooltip(<String|HTMLElement|Function|Tooltip> content, <Tooltip options> options?) this

将工具提示(tooltip)绑定到传入的图层 content 并设置必要的事件侦听器。如果一个 Function 被传递,它将接收图层作为第一个参数,并应返回 StringHTMLElement

unbindTooltip() this

移除之前用 bindTooltip 绑定的工具提示(tooltip)。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的工具提示(tooltip),如果没有指定 latlng,则在默认的锚点打开工具提示(tooltip)。

closeTooltip() this

如果该图层处于打开状态,则关闭绑定到该图层的工具提示。

toggleTooltip() this

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

isTooltipOpen() boolean

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

setTooltipContent(<String|HTMLElement|Tooltip> content) this

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

getTooltip() Tooltip

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

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

为对象的特定事件类型添加一个监听函数(fn)。你可以选择性地指定监听器的上下文(这个关键字将指向的对象)。你也可以传递几个空格分隔的类型(例如,'click dblclick')。

on(<Object> eventMap) this

添加一组 type/listener,例如 {click: onClick, mousemove: onMouseMove}

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

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

off(<Object> eventMap) this

删除一组 type/listener

off() this

移除该对象上所有事件的所有监听器。这包括隐含的附加事件。

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

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

listens(<String> type, <Boolean> propagate?) Boolean

如果一个特定的事件类型有任何监听器连接到它,则返回 true。验证可以选择性地被传播,如果父级有监听器连接到它,它将返回true

once() this

on(...)的行为一样,不过监听器只会被触发一次后然后被删除。

addEventParent(<Evented> obj) this

向父级 Evented 添加事件

removeEventParent(<Evented> obj) this

删除之前向父级 Evented 添加的事件

addEventListener() this

on(…)

removeEventListener() this

off(…)

clearAllEventListeners() this

off()

addOneTimeEventListener() this

once(…)

fireEvent() this

fire(…)

hasEventListeners() Boolean

listens(…)

LayerGroup 图层组

用于将几个图层分组并作为一个整体处理。如果你把它添加到地图上,任何从该组中添加或删除的图层也会在地图上添加/删除。扩展 Layer

使用示例

L.layerGroup([marker1, marker2])
	.addLayer(polyline)
	.addTo(map);

Creation

构造函数 说明
L.layerGroup(<Layer[]> layers?, <Object> options?) 创建一个图层组,可以选择给定一个初始图层组和一个 options 对象。

Options 选项

选项 类型 默认值 说明
interactive Boolean true 如果是 false, 该图层将不会发出鼠标事件,而是作为底层地图的一部分。
bubblingMouseEvents Boolean true 当为 true 时,此标记上的鼠标事件将触发地图上的相同事件(除非使用 L.DomEvent.stopPropagation)。
选项 类型 默认值 说明
pane String 'overlayPane' 默认情况下,该图层将被添加到地图的 overlay pane(覆盖窗格)中。 覆盖该选项将导致该图层被默认放置在另一个窗格中。
attribution String null 归属控制中要显示的字符串,例如 "© OpenStreetMap 贡献者"。 它描述了图层数据,通常是对版权所有者和瓦片提供者的法律义务。

Events 事件

事件 数据 说明
click MouseEvent 当用户 click 或 tap 该图层时触发。
dblclick MouseEvent 当用户 double-click 或 double-tap 该图层时触发。
mousedown MouseEvent 当用户在该图层上按下鼠标按钮时触发。
mouseup MouseEvent 当用户在该图层上释放按下的鼠标按钮时触发。
mouseover MouseEvent 鼠标进入该图层时触发。
mouseout MouseEvent 当鼠标离开该图层时触发。
contextmenu MouseEvent 当用户在图层上点击右键时触发,如果该事件有监听者,可以防止显示默认的浏览器上下文菜单。在手机上,当用户保持单次触摸一秒钟(也叫长按)时也会触发。
事件 数据 说明
add Event 在图层添加到地图后触发
remove Event 从地图中移除图层后触发
事件 数据 说明
popupopen PopupEvent 当绑定到该层的 popup 打开时触发
popupclose PopupEvent 当绑定到该层的 popup 关闭时触发
事件 数据 说明
tooltipopen TooltipEvent 当绑定到该层的 tooltip 打开时触发。
tooltipclose TooltipEvent 当绑定到该层的 tooltip 关闭时触发。

Methods 方法

方法 返回值 说明
toGeoJSON(<Number|false> precision?) Object

坐标值使用具有指定 precisionformatNum 函数进行四舍五入。返回折线的 GeoJSON 表示 (作为 GeoJSON FeatureCollection, GeometryCollection, 或 MultiPoint Feature)。

addLayer(<Layer> layer) this

将给定的图层添加到组中。

removeLayer(<Layer> layer) this

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

removeLayer(<Number> id) this

将具有给定内部ID的图层从组中移除。

hasLayer(<Layer> layer) Boolean

如果给定的图层当前被添加到组中,则返回 true

hasLayer(<Number> id) Boolean

如果给定的内部 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) Layer

返回具有给定内部 ID 的图层。

getLayers() Layer[]

返回所有添加到组中的图层的数组。

setZIndex(<Number> zIndex) this

对包含在该组中的每个图层调用 setZIndex ,并传递 z-index 。

getLayerId(<Layer> layer) Number

返回一个图层的内部 ID

方法 返回值 说明
addTo(<Map|LayerGroup> map) this

将图层添加到指定的地图或图层组(LayerGroup)。

remove() this

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

removeFrom(<Map> map) this

从指定的地图中删除图层

removeFrom(<LayerGroup> group) this

从指定的 LayerGroup 中删除该图层。

getPane(<String> name?) HTMLElement

返回代表地图上指定窗格的 HTMLElement。如果 name 被省略,则返回该层的窗格。

getAttribution() String

attribution 控件使用,返回 attribution 选项

方法 返回值 说明
bindPopup(<String|HTMLElement|Function|Popup> content, <Popup options> options?) this

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

unbindPopup() this 移除之前用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的弹出窗口,如果没有设置 latlng,则在默认的位置打开弹窗(popup)。

closePopup() this

如果与当前图层绑定的弹窗(popup)时打开的,则关闭当前弹窗。

togglePopup() this

根据当前状态,打开或关闭与该层绑定的弹出窗口。

isPopupOpen() boolean

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

setPopupContent(<String|HTMLElement|Popup> content) this

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

getPopup() Popup

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

方法 返回值 说明
bindTooltip(<String|HTMLElement|Function|Tooltip> content, <Tooltip options> options?) this

将工具提示(tooltip)绑定到传入的图层 content 并设置必要的事件侦听器。如果一个 Function 被传递,它将接收图层作为第一个参数,并应返回 StringHTMLElement

unbindTooltip() this

移除之前用 bindTooltip 绑定的工具提示(tooltip)。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的工具提示(tooltip),如果没有指定 latlng,则在默认的锚点打开工具提示(tooltip)。

closeTooltip() this

如果该图层处于打开状态,则关闭绑定到该图层的工具提示。

toggleTooltip() this

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

isTooltipOpen() boolean

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

setTooltipContent(<String|HTMLElement|Tooltip> content) this

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

getTooltip() Tooltip

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

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

为对象的特定事件类型添加一个监听函数(fn)。你可以选择性地指定监听器的上下文(这个关键字将指向的对象)。你也可以传递几个空格分隔的类型(例如,'click dblclick')。

on(<Object> eventMap) this

添加一组 type/listener,例如 {click: onClick, mousemove: onMouseMove}

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

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

off(<Object> eventMap) this

删除一组 type/listener

off() this

移除该对象上所有事件的所有监听器。这包括隐含的附加事件。

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

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

listens(<String> type, <Boolean> propagate?) Boolean

如果一个特定的事件类型有任何监听器连接到它,则返回 true。验证可以选择性地被传播,如果父级有监听器连接到它,它将返回true

once() this

on(...)的行为一样,不过监听器只会被触发一次后然后被删除。

addEventParent(<Evented> obj) this

向父级 Evented 添加事件

removeEventParent(<Evented> obj) this

删除之前向父级 Evented 添加的事件

addEventListener() this

on(…)

removeEventListener() this

off(…)

clearAllEventListeners() this

off()

addOneTimeEventListener() this

once(…)

fireEvent() this

fire(…)

hasEventListeners() Boolean

listens(…)

FeatureGroup 要素组

扩展了 LayerGroup ,使它更容易对其所有成员图层做同样的事情:

使用示例

L.featureGroup([marker1, marker2, polyline])
	.bindPopup('Hello world!')
	.on('click', function() { alert('Clicked on a member of the group!'); })
	.addTo(map);

Creation

构造函数 说明
L.featureGroup(<Layer[]> layers?, <Object> options?) 创建一个 feature group,可选择给定一组初始图层和一个 options 对象。

Options 选项

选项 类型 默认值 说明
interactive Boolean true 如果是 false, 该图层将不会发出鼠标事件,而是作为底层地图的一部分。
bubblingMouseEvents Boolean true 当为 true 时,此标记上的鼠标事件将触发地图上的相同事件(除非使用 L.DomEvent.stopPropagation)。
选项 类型 默认值 说明
pane String 'overlayPane' 默认情况下,该图层将被添加到地图的 overlay pane(覆盖窗格)中。 覆盖该选项将导致该图层被默认放置在另一个窗格中。
attribution String null 归属控制中要显示的字符串,例如 "© OpenStreetMap 贡献者"。 它描述了图层数据,通常是对版权所有者和瓦片提供者的法律义务。

Events 事件

事件 数据 说明
layeradd LayerEvent 当一个图层被添加到该 FeatureGroup 时触发。
layerremove LayerEvent 当一个图层被从该 FeatureGroup中移除时触发。
事件 数据 说明
click MouseEvent 当用户 click 或 tap 该图层时触发。
dblclick MouseEvent 当用户 double-click 或 double-tap 该图层时触发。
mousedown MouseEvent 当用户在该图层上按下鼠标按钮时触发。
mouseup MouseEvent 当用户在该图层上释放按下的鼠标按钮时触发。
mouseover MouseEvent 鼠标进入该图层时触发。
mouseout MouseEvent 当鼠标离开该图层时触发。
contextmenu MouseEvent 当用户在图层上点击右键时触发,如果该事件有监听者,可以防止显示默认的浏览器上下文菜单。在手机上,当用户保持单次触摸一秒钟(也叫长按)时也会触发。
事件 数据 说明
add Event 在图层添加到地图后触发
remove Event 从地图中移除图层后触发
事件 数据 说明
popupopen PopupEvent 当绑定到该层的 popup 打开时触发
popupclose PopupEvent 当绑定到该层的 popup 关闭时触发
事件 数据 说明
tooltipopen TooltipEvent 当绑定到该层的 tooltip 打开时触发。
tooltipclose TooltipEvent 当绑定到该层的 tooltip 关闭时触发。

Methods 方法

方法 返回值 说明
setStyle(<Path options> style) this

为组中有 setStyle 方法的每个层设置给定的路径选项。

bringToFront() this

将图层组置于所有其他图层的顶部。

bringToBack() this

将图层组置于所有其他图层的底部。

getBounds() LatLngBounds

返回要素组的 LatLngBounds(由其子节点的边界和坐标创建)。

方法 返回值 说明
toGeoJSON(<Number|false> precision?) Object

坐标值使用具有指定 precisionformatNum 函数进行四舍五入。返回折线的 GeoJSON 表示 (作为 GeoJSON FeatureCollection, GeometryCollection, 或 MultiPoint Feature)。

addLayer(<Layer> layer) this

将给定的图层添加到组中。

removeLayer(<Layer> layer) this

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

removeLayer(<Number> id) this

将具有给定内部ID的图层从组中移除。

hasLayer(<Layer> layer) Boolean

如果给定的图层当前被添加到组中,则返回 true

hasLayer(<Number> id) Boolean

如果给定的内部 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) Layer

返回具有给定内部 ID 的图层。

getLayers() Layer[]

返回所有添加到组中的图层的数组。

setZIndex(<Number> zIndex) this

对包含在该组中的每个图层调用 setZIndex ,并传递 z-index 。

getLayerId(<Layer> layer) Number

返回一个图层的内部 ID

方法 返回值 说明
addTo(<Map|LayerGroup> map) this

将图层添加到指定的地图或图层组(LayerGroup)。

remove() this

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

removeFrom(<Map> map) this

从指定的地图中删除图层

removeFrom(<LayerGroup> group) this

从指定的 LayerGroup 中删除该图层。

getPane(<String> name?) HTMLElement

返回代表地图上指定窗格的 HTMLElement。如果 name 被省略,则返回该层的窗格。

getAttribution() String

attribution 控件使用,返回 attribution 选项

方法 返回值 说明
bindPopup(<String|HTMLElement|Function|Popup> content, <Popup options> options?) this

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

unbindPopup() this 移除之前用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的弹出窗口,如果没有设置 latlng,则在默认的位置打开弹窗(popup)。

closePopup() this

如果与当前图层绑定的弹窗(popup)时打开的,则关闭当前弹窗。

togglePopup() this

根据当前状态,打开或关闭与该层绑定的弹出窗口。

isPopupOpen() boolean

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

setPopupContent(<String|HTMLElement|Popup> content) this

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

getPopup() Popup

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

方法 返回值 说明
bindTooltip(<String|HTMLElement|Function|Tooltip> content, <Tooltip options> options?) this

将工具提示(tooltip)绑定到传入的图层 content 并设置必要的事件侦听器。如果一个 Function 被传递,它将接收图层作为第一个参数,并应返回 StringHTMLElement

unbindTooltip() this

移除之前用 bindTooltip 绑定的工具提示(tooltip)。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的工具提示(tooltip),如果没有指定 latlng,则在默认的锚点打开工具提示(tooltip)。

closeTooltip() this

如果该图层处于打开状态,则关闭绑定到该图层的工具提示。

toggleTooltip() this

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

isTooltipOpen() boolean

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

setTooltipContent(<String|HTMLElement|Tooltip> content) this

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

getTooltip() Tooltip

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

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

为对象的特定事件类型添加一个监听函数(fn)。你可以选择性地指定监听器的上下文(这个关键字将指向的对象)。你也可以传递几个空格分隔的类型(例如,'click dblclick')。

on(<Object> eventMap) this

添加一组 type/listener,例如 {click: onClick, mousemove: onMouseMove}

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

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

off(<Object> eventMap) this

删除一组 type/listener

off() this

移除该对象上所有事件的所有监听器。这包括隐含的附加事件。

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

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

listens(<String> type, <Boolean> propagate?) Boolean

如果一个特定的事件类型有任何监听器连接到它,则返回 true。验证可以选择性地被传播,如果父级有监听器连接到它,它将返回true

once() this

on(...)的行为一样,不过监听器只会被触发一次后然后被删除。

addEventParent(<Evented> obj) this

向父级 Evented 添加事件

removeEventParent(<Evented> obj) this

删除之前向父级 Evented 添加的事件

addEventListener() this

on(…)

removeEventListener() this

off(…)

clearAllEventListeners() this

off()

addOneTimeEventListener() this

once(…)

fireEvent() this

fire(…)

hasEventListeners() Boolean

listens(…)

GeoJSON 图层

代表一个 GeoJSON 对象或一个 GeoJSON 对象的数组。允许你解析 GeoJSON 数据并将其显示在地图上。扩展自 FeatureGroup

使用示例

L.geoJSON(data, {
	style: function (feature) {
		return {color: feature.properties.color};
	}
}).bindPopup(function (layer) {
	return layer.feature.properties.description;
}).addTo(map);

Creation

构造函数 说明
L.geoJSON(<Object> geojson?, <GeoJSON options> options?) 创建一个GeoJSON图层。可选择接受一个在地图上显示的 GeoJSON 格式 的对象 (你也可以在以后用 addData 方法添加它) 和一个 options 对象。

Options 选项

选项 类型 默认值 说明
pointToLayer Function * 一个定义 GeoJSON 点如何产生 Leaflet 图层的 Function 。当数据被添加时,它被内部调用,传递GeoJSON点的特征和它的 LatLng。默认是生成一个默认的 Marker:
function(geoJsonPoint, latlng) {
return L.marker(latlng);
}
style Function * 一个定义GeoJSON线条和多边形造型的 Path options 函数 ,在添加数据时内部调用。默认值是不覆盖任何默认值:
function (geoJsonFeature) {
return {}
}
onEachFeature Function * 一个 Function ,在每个创建的 Feature 被创建和样式化后,将被调用一次。对于将事件和弹出窗口附加到要素上很有用。默认情况下,对新创建的图层不做任何处理:
function (feature, layer) {}
filter Function * 一个 Function ,用于决定是否包括一个要素。默认是包括所有要素:
function (geoJsonFeature) {
return true;
}

注意:动态改变 filter 选项将只对新添加的数据产生影响。它 不会 重新评估已经包含的要素。

coordsToLatLng Function * 一个用于将GeoJSON坐标转换为LatLngs的 Function 。默认是 coordsToLatLng 静态方法。
markersInheritOptions Boolean false "Point" 类型要素的默认标记是否继承于组选项。
选项 类型 默认值 说明
interactive Boolean true 如果是 false, 该图层将不会发出鼠标事件,而是作为底层地图的一部分。
bubblingMouseEvents Boolean true 当为 true 时,此标记上的鼠标事件将触发地图上的相同事件(除非使用 L.DomEvent.stopPropagation)。
选项 类型 默认值 说明
pane String 'overlayPane' 默认情况下,该图层将被添加到地图的 overlay pane(覆盖窗格)中。 覆盖该选项将导致该图层被默认放置在另一个窗格中。
attribution String null 归属控制中要显示的字符串,例如 "© OpenStreetMap 贡献者"。 它描述了图层数据,通常是对版权所有者和瓦片提供者的法律义务。

Events 事件

事件 数据 说明
layeradd LayerEvent 当一个图层被添加到该 FeatureGroup 时触发。
layerremove LayerEvent 当一个图层被从该 FeatureGroup中移除时触发。
事件 数据 说明
click MouseEvent 当用户 click 或 tap 该图层时触发。
dblclick MouseEvent 当用户 double-click 或 double-tap 该图层时触发。
mousedown MouseEvent 当用户在该图层上按下鼠标按钮时触发。
mouseup MouseEvent 当用户在该图层上释放按下的鼠标按钮时触发。
mouseover MouseEvent 鼠标进入该图层时触发。
mouseout MouseEvent 当鼠标离开该图层时触发。
contextmenu MouseEvent 当用户在图层上点击右键时触发,如果该事件有监听者,可以防止显示默认的浏览器上下文菜单。在手机上,当用户保持单次触摸一秒钟(也叫长按)时也会触发。
事件 数据 说明
add Event 在图层添加到地图后触发
remove Event 从地图中移除图层后触发
事件 数据 说明
popupopen PopupEvent 当绑定到该层的 popup 打开时触发
popupclose PopupEvent 当绑定到该层的 popup 关闭时触发
事件 数据 说明
tooltipopen TooltipEvent 当绑定到该层的 tooltip 打开时触发。
tooltipclose TooltipEvent 当绑定到该层的 tooltip 关闭时触发。

Methods 方法

方法 返回值 说明
addData(data) this

将一个 GeoJSON 对象添加到图层中。

resetStyle(layer?) this

将给定的矢量图层的样式重置为原始的 GeoJSON 样式,对于在悬停事件后重置样式很有用。如果省略了 layer ,当前图层中的所有要素的样式都会被重置。

setStyle(style) this

用给定的样式函数改变 GeoJSON 矢量图层的样式。

方法 返回值 说明
bringToFront() this

将图层组置于所有其他图层的顶部。

bringToBack() this

将图层组置于所有其他图层的底部。

getBounds() LatLngBounds

返回要素组的 LatLngBounds(由其子节点的边界和坐标创建)。

方法 返回值 说明
toGeoJSON(<Number|false> precision?) Object

坐标值使用具有指定 precisionformatNum 函数进行四舍五入。返回折线的 GeoJSON 表示 (作为 GeoJSON FeatureCollection, GeometryCollection, 或 MultiPoint Feature)。

addLayer(<Layer> layer) this

将给定的图层添加到组中。

removeLayer(<Layer> layer) this

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

removeLayer(<Number> id) this

将具有给定内部ID的图层从组中移除。

hasLayer(<Layer> layer) Boolean

如果给定的图层当前被添加到组中,则返回 true

hasLayer(<Number> id) Boolean

如果给定的内部 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) Layer

返回具有给定内部 ID 的图层。

getLayers() Layer[]

返回所有添加到组中的图层的数组。

setZIndex(<Number> zIndex) this

对包含在该组中的每个图层调用 setZIndex ,并传递 z-index 。

getLayerId(<Layer> layer) Number

返回一个图层的内部 ID

方法 返回值 说明
addTo(<Map|LayerGroup> map) this

将图层添加到指定的地图或图层组(LayerGroup)。

remove() this

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

removeFrom(<Map> map) this

从指定的地图中删除图层

removeFrom(<LayerGroup> group) this

从指定的 LayerGroup 中删除该图层。

getPane(<String> name?) HTMLElement

返回代表地图上指定窗格的 HTMLElement。如果 name 被省略,则返回该层的窗格。

getAttribution() String

attribution 控件使用,返回 attribution 选项

方法 返回值 说明
bindPopup(<String|HTMLElement|Function|Popup> content, <Popup options> options?) this

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

unbindPopup() this 移除之前用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的弹出窗口,如果没有设置 latlng,则在默认的位置打开弹窗(popup)。

closePopup() this

如果与当前图层绑定的弹窗(popup)时打开的,则关闭当前弹窗。

togglePopup() this

根据当前状态,打开或关闭与该层绑定的弹出窗口。

isPopupOpen() boolean

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

setPopupContent(<String|HTMLElement|Popup> content) this

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

getPopup() Popup

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

方法 返回值 说明
bindTooltip(<String|HTMLElement|Function|Tooltip> content, <Tooltip options> options?) this

将工具提示(tooltip)绑定到传入的图层 content 并设置必要的事件侦听器。如果一个 Function 被传递,它将接收图层作为第一个参数,并应返回 StringHTMLElement

unbindTooltip() this

移除之前用 bindTooltip 绑定的工具提示(tooltip)。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的工具提示(tooltip),如果没有指定 latlng,则在默认的锚点打开工具提示(tooltip)。

closeTooltip() this

如果该图层处于打开状态,则关闭绑定到该图层的工具提示。

toggleTooltip() this

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

isTooltipOpen() boolean

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

setTooltipContent(<String|HTMLElement|Tooltip> content) this

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

getTooltip() Tooltip

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

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

为对象的特定事件类型添加一个监听函数(fn)。你可以选择性地指定监听器的上下文(这个关键字将指向的对象)。你也可以传递几个空格分隔的类型(例如,'click dblclick')。

on(<Object> eventMap) this

添加一组 type/listener,例如 {click: onClick, mousemove: onMouseMove}

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

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

off(<Object> eventMap) this

删除一组 type/listener

off() this

移除该对象上所有事件的所有监听器。这包括隐含的附加事件。

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

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

listens(<String> type, <Boolean> propagate?) Boolean

如果一个特定的事件类型有任何监听器连接到它,则返回 true。验证可以选择性地被传播,如果父级有监听器连接到它,它将返回true

once() this

on(...)的行为一样,不过监听器只会被触发一次后然后被删除。

addEventParent(<Evented> obj) this

向父级 Evented 添加事件

removeEventParent(<Evented> obj) this

删除之前向父级 Evented 添加的事件

addEventListener() this

on(…)

removeEventListener() this

off(…)

clearAllEventListeners() this

off()

addOneTimeEventListener() this

once(…)

fireEvent() this

fire(…)

hasEventListeners() Boolean

listens(…)

Functions

这里有几个静态函数可以不通过实例化 L.GeoJSON 来调用:
Function 返回值 说明
geometryToLayer(<Object> featureData, <GeoJSON options> options?) Layer 从一个给定的GeoJSON要素创建一个 Layer 。如果提供选项,可以使用自定义的 pointToLayer 和/或 coordsToLatLng 函数。
coordsToLatLng(<Array> coords) LatLng 从GeoJSON中用于点的2个数字(经度、纬度)或3个数字(经度、纬度、海拔)阵列中创建一个 LatLng 对象。
coordsToLatLngs(<Array> coords, <Number> levelsDeep?, <Function> coordsToLatLng?) Array 从GeoJSON坐标数组中创建一个 LatLng的多维数组。 levelsDeep 指定嵌套级别(0用于点的数组,1用于点的数组,等等,默认为0)。可以使用一个自定义的 coordsToLatLng 函数。
latLngToCoords(<LatLng> latlng, <Number|false> precision?) Array coordsToLatLng相反。坐标值使用 formatNum 函数进行四舍五入。
latLngsToCoords(<Array> latlngs, <Number> levelsDeep?, <Boolean> closed?, <Number|false> precision?) Array coordsToLatLngs的反向 closed ,决定是否应该将第一个点追加到数组的末尾以 close 该要素,仅在 levelsDeep 为 0 时使用,默认为 false 。坐标值使用 formatNum 函数进行四舍五入。
asFeature(<Object> geojson) Object 将 GeoJSON 的 geometries/features 规范化为 GeoJSON features。

GridLayer 网格图层

用于处理 HTML 元素的平铺网格的通用类。它是所有瓦片图层的基类,取代了 TileLayer.Canvas。GridLayer 可以被扩展来创建 HTML 元素的平铺网格,如 <canvas>, <img> or <div>。GridLayer 将为你处理这些 DOM 元素的创建和动画。

使用示例

同步使用

要创建一个自定义图层,请扩展GridLayer并实现 createTile() 方法,它将被传递给一个 Point 对象,该对象具有 x, y, 和 z (缩放级别)坐标,以绘制你的图层。

var CanvasLayer = L.GridLayer.extend({
    createTile: function(coords){
        // 创建一个用于绘图的 <canvas> 元素
        var tile = L.DomUtil.create('canvas', 'leaflet-tile');

		// 根据选项设置瓦片的宽度和高度
        var size = this.getTileSize();
        tile.width = size.x;
        tile.height = size.y;

        // 获得一个 canvas 上下文,并使用 coords.x、coords.y 和 coords.z 在上面画东西
        var ctx = tile.getContext('2d');

        // 返回瓦片,以便在屏幕上呈现
        return tile;
    }
});

异步使用

瓦片的创建也可以是异步的,这在使用第三方绘图库时很有用。一旦瓦片绘制完成,它可以被传递给 done() 回调。

var CanvasLayer = L.GridLayer.extend({
    createTile: function(coords, done){
        var error;

        // 创建一个用于绘图的 <canvas> 元素
        var tile = L.DomUtil.create('canvas', 'leaflet-tile');

        // 根据选项设置瓦片的宽度和高度
        var size = this.getTileSize();
        tile.width = size.x;
        tile.height = size.y;

        // 异步地绘制一些东西,并将瓦片传递给 done() 回调
        setTimeout(function() {
            done(error, tile);
        }, 1000);

        return tile;
    }
});

Creation

构造函数 说明
L.gridLayer(<GridLayer options> options?) 用提供的选项创建一个新的 GridLayer 实例。

Options 选项

选项 类型 默认值 说明
tileSize Number|Point 256 网格中瓦片的宽度和高度。如果宽度和高度相等,则使用当前数字,否则使用 L.point(width, height)
opacity Number 1.0 瓦片的不透明度。可以在 createTile() 函数中使用。
updateWhenIdle Boolean (depends) 在移动浏览器上默认为 true ,以避免过多的请求并保持流畅的导航。否则为 false 以便在平移过程中显示新瓦片,因为在桌面浏览器中很容易在 keepBuffer 选项之外平移。
updateWhenZooming Boolean true 默认情况下,平滑缩放动画 (在 触摸缩放flyTo()期间) 将每隔一个整数的缩放级别更新网格图层。把这个选项设置为 false ,将只在平滑动画结束时更新网格图层。
updateInterval Number 200 在平移时,瓦片将会在 updateInterval 毫秒内最多只更新一次。
zIndex Number 1 瓦片图层的显性 zIndex。
bounds LatLngBounds undefined 如果设置,瓦片将只在设置的 LatLngBounds 内被加载。
minZoom Number 0 此图层将显示的最小缩放级别(包括最小)
maxZoom Number undefined 此图层将显示的最大缩放级别(包括最大)
maxNativeZoom Number undefined 瓦片源可用的最大缩放数。如果指定,所有缩放级别高于 maxNativeZoom 的图块将根据 maxNativeZoom 的缩放级别进行加载并自动缩放。
minNativeZoom Number undefined 瓦片源可用的最小缩放数。如果指定,所有缩放级别小于 minNativeZoom 的图块将根据 minNativeZoom 的缩放级别进行加载并自动缩放。
noWrap Boolean false 该图层是否被包裹在逆子午线周围。如果为 true,则 GridLayer 将只在低缩放级别下显示一次。当 map CRS 不环绕时无效。可与 bounds 结合使用以防止请求超出 CRS 限制的图块。
pane String 'tilePane' 将添加到网格图层的Map pane
className String '' 为瓦片图层指定的自定义类名。默认是空的。
keepBuffer Number 2 平移地图时,在卸载之前保留这么多行和列的图块。
选项 类型 默认值 说明
attribution String null 归属控制中要显示的字符串,例如 "© OpenStreetMap 贡献者"。 它描述了图层数据,通常是对版权所有者和瓦片提供者的法律义务。

Events 事件

事件 数据 说明
loading Event 当网格图层开始加载瓦片时触发。
tileunload TileEvent 当瓦片被移除时触发(例如,当瓦片离开屏幕时)。
tileloadstart TileEvent 当请求瓦片并开始加载时触发。
tileerror TileErrorEvent 当加载瓦片出现错误时触发。
tileload TileEvent 当瓦片加载时触发。
load Event 当网格图层加载所有可见瓦片时触发。
事件 数据 说明
add Event 在图层添加到地图后触发
remove Event 从地图中移除图层后触发
事件 数据 说明
popupopen PopupEvent 当绑定到该层的 popup 打开时触发
popupclose PopupEvent 当绑定到该层的 popup 关闭时触发
事件 数据 说明
tooltipopen TooltipEvent 当绑定到该层的 tooltip 打开时触发。
tooltipclose TooltipEvent 当绑定到该层的 tooltip 关闭时触发。

Methods 方法

方法 返回值 说明
bringToFront() this

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

bringToBack() this

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

getContainer() HTMLElement

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

setOpacity(<Number> opacity) this

改变网格图层的 opacity

setZIndex(<Number> zIndex) this

改变网格图层的 zIndex

isLoading() Boolean

如果网格图层中的任何瓦片没有完成加载,则返回 true

redraw() this

清除该图层的所有瓦片,并再次请求它们。

getTileSize() Point

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

扩展方法

扩展 GridLayer 的图层应重新实现以下方法。
方法 返回值 说明
createTile(<Object> coords, <Function> done?) HTMLElement

只在内部调用,必须由扩展 GridLayer的类重载。返回对应于给定 坐标HTMLElement corresponding to the given coords。如果指定了 done 回调,必须在瓦片完成加载和绘制时调用该回调。

方法 返回值 说明
addTo(<Map|LayerGroup> map) this

将图层添加到指定的地图或图层组(LayerGroup)。

remove() this

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

removeFrom(<Map> map) this

从指定的地图中删除图层

removeFrom(<LayerGroup> group) this

从指定的 LayerGroup 中删除该图层。

getPane(<String> name?) HTMLElement

返回代表地图上指定窗格的 HTMLElement。如果 name 被省略,则返回该层的窗格。

getAttribution() String

attribution 控件使用,返回 attribution 选项

方法 返回值 说明
bindPopup(<String|HTMLElement|Function|Popup> content, <Popup options> options?) this

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

unbindPopup() this 移除之前用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的弹出窗口,如果没有设置 latlng,则在默认的位置打开弹窗(popup)。

closePopup() this

如果与当前图层绑定的弹窗(popup)时打开的,则关闭当前弹窗。

togglePopup() this

根据当前状态,打开或关闭与该层绑定的弹出窗口。

isPopupOpen() boolean

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

setPopupContent(<String|HTMLElement|Popup> content) this

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

getPopup() Popup

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

方法 返回值 说明
bindTooltip(<String|HTMLElement|Function|Tooltip> content, <Tooltip options> options?) this

将工具提示(tooltip)绑定到传入的图层 content 并设置必要的事件侦听器。如果一个 Function 被传递,它将接收图层作为第一个参数,并应返回 StringHTMLElement

unbindTooltip() this

移除之前用 bindTooltip 绑定的工具提示(tooltip)。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的工具提示(tooltip),如果没有指定 latlng,则在默认的锚点打开工具提示(tooltip)。

closeTooltip() this

如果该图层处于打开状态,则关闭绑定到该图层的工具提示。

toggleTooltip() this

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

isTooltipOpen() boolean

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

setTooltipContent(<String|HTMLElement|Tooltip> content) this

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

getTooltip() Tooltip

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

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

为对象的特定事件类型添加一个监听函数(fn)。你可以选择性地指定监听器的上下文(这个关键字将指向的对象)。你也可以传递几个空格分隔的类型(例如,'click dblclick')。

on(<Object> eventMap) this

添加一组 type/listener,例如 {click: onClick, mousemove: onMouseMove}

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

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

off(<Object> eventMap) this

删除一组 type/listener

off() this

移除该对象上所有事件的所有监听器。这包括隐含的附加事件。

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

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

listens(<String> type, <Boolean> propagate?) Boolean

如果一个特定的事件类型有任何监听器连接到它,则返回 true。验证可以选择性地被传播,如果父级有监听器连接到它,它将返回true

once() this

on(...)的行为一样,不过监听器只会被触发一次后然后被删除。

addEventParent(<Evented> obj) this

向父级 Evented 添加事件

removeEventParent(<Evented> obj) this

删除之前向父级 Evented 添加的事件

addEventListener() this

on(…)

removeEventListener() this

off(…)

clearAllEventListeners() this

off()

addOneTimeEventListener() this

once(…)

fireEvent() this

fire(…)

hasEventListeners() Boolean

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 的 Class 对象,这意味着新的类不能继承自它,也不能用 include 函数将新的方法添加到它。

Creation

构造函数 说明
L.latLng(<Number> latitude, <Number> longitude, <Number> altitude?) 创建一个代表具有给定纬度和经度(以及可选的高度)的地理点的对象。
L.latLng(<Array> coords) 期待一个 [Number, Number][Number, Number, Number] 形式的数组来代替。
L.latLng(<Object> coords) 期待一个形式为 {lat: Number, lng: Number}{lat: Number, lng: Number, alt: Number} 的普通对象来代替。

Methods 方法

方法 返回值 说明
equals(<LatLng> otherLatLng, <Number> maxMargin?) Boolean

如果给定的 LatLng 点在同一位置(在一个小的误差范围内),则返回 true 。 误差范围可以通过设置 maxMargin 为一个小数字来重写。

toString() String

返回点的字符串表示(用于调试目的)。

distanceTo(<LatLng> otherLatLng) Number

返回使用 球面余弦律计算的与给定 LatLng 的距离(以米为单位)。

wrap() LatLng

返回一个新的 LatLng 对象,该对象的经纬度被包裹,所以它总是在-180度和+180度之间。

toBounds(<Number> sizeInMeters) LatLngBounds

返回一个新的 LatLngBounds 对象,其中每个边界与 LatLng 的距离为sizeInMeters/2 米。

Properties 属性

属性 类型 说明
lat Number 纬度(度)
lng Number 经度(度)
alt Number 海拔高度,以米为单位(可选)

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的 Class 对象,这意味着新的类不能继承自它,新的方法也不能用 include 函数添加到它。

Creation

构造函数 说明
L.latLngBounds(<LatLng> corner1, <LatLng> corner2) 通过定义矩形的两个斜对角,创建一个 LatLngBounds 对象。
L.latLngBounds(<LatLng[]> latlngs) 创建一个由其包含的地理点定义的 LatLngBounds 对象。对于用 fitBounds 缩放地图以适应一组特定的位置非常有用。

Methods 方法

方法 返回值 说明
extend(<LatLng> latlng) this

扩展边界以包含给定的点

extend(<LatLngBounds> otherBounds) this

扩展边界以包含给定的边界

pad(<Number> bufferRatio) LatLngBounds

返回通过在每个方向上以给定的比率扩展或缩减当前边界而创建的边界。 例如,比率为 0.5 时,界线在每个方向上都会延伸 50% 。 负值将缩减边界。

getCenter() LatLng

返回边界的中心点。

getSouthWest() LatLng

返回边界的西南点。

getNorthEast() LatLng

返回边界的东北点。

getNorthWest() LatLng

返回边界的西北点。

getSouthEast() LatLng

返回边界的东南点。

getWest() Number

返回边界的西经度

getSouth() Number

返回边界的南纬度

getEast() Number

返回边界的东经度

getNorth() Number

返回边界的北纬度

contains(<LatLngBounds> otherBounds) Boolean

如果该矩形包含给定的矩形,则返回 true

contains(<LatLng> latlng) Boolean

如果矩形包含给定的点,则返回 true

intersects(<LatLngBounds> otherBounds) Boolean

如果矩形与给定的边界相交,返回 true 。如果两个边界至少有一个共同点,则它们相交。

overlaps(<LatLngBounds> otherBounds) Boolean

如果矩形与给定的边界重叠,返回 true 。如果两个边界的交点是一个区域,那么它们就会重叠。

toBBoxString() String

返回一个包含'southwest_lng、southwest_lat、northeast_lng、northeast_lat'格式的包围盒坐标的字符串。对于向返回地理数据的网络服务发送请求很有用。

equals(<LatLngBounds> otherBounds, <Number> maxMargin?) Boolean

如果矩形与给定的边界相当(在一个小的误差范围内),则返回 true 。误差范围可以通过设置 maxMargin 为一个小数字来重写。

isValid() Boolean

如果边界被正确初始化,则返回 true

Point 点

代表一个点,其 xy 坐标为像素。

使用示例

var point = L.point(200, 300);

所有接受 Point 对象的Leaflet方法和选项也接受它们的简单数组形式(除非另有说明),所以这些行是等价的:

map.panBy([200, 300]);
map.panBy(L.point(200, 300));

注意, Point 不继承 Leaflet 的 Class 对象,这意味着新的类不能继承于它,新的方法也不能用 include 函数添加到它。

Creation

构造函数 说明
L.point(<Number> x, <Number> y, <Boolean> round?) 用给定的 xy 坐标创建一个点对象。如果可选的 round 被设置为true,则对 xy 值进行舍入。
L.point(<Number[]> coords) 期待一个形式为 [x, y] 的数组来代替。
L.point(<Object> coords) 期待一个形式为 {x: Number, y: Number} 的普通对象来代替。

Methods 方法

方法 返回值 说明
clone() Point

返回当前点的拷贝。

add(<Point> otherPoint) Point

返回当前点和给定点的相加结果。

subtract(<Point> otherPoint) Point

返回给定点与当前点相减的结果。

divideBy(<Number> num) Point

返回当前点除以给定数字的结果。

multiplyBy(<Number> num) Point

返回当前点与给定数字相乘的结果。

scaleBy(<Point> scale) Point

将当前点的每个坐标与 scale的每个坐标相乘。用线性代数术语来说,就是用点乘以 scale 所定义的 缩放矩阵

unscaleBy(<Point> scale) Point

scaleBy的倒数。将当前点的每个坐标除以 scale的每个坐标。

round() Point

返回具有圆角坐标的当前点的拷贝。

floor() Point

返回具有浮动坐标的当前点的拷贝(向下舍入)。

ceil() Point

返回当前点的拷贝,坐标为最高值(四舍五入)。

trunc() Point

返回具有截断坐标的当前点的拷贝(四舍五入为零)。

distanceTo(<Point> otherPoint) Number

返回当前点和给定点之间的笛卡尔距离。

equals(<Point> otherPoint) Boolean

如果给定的点具有相同的坐标,则返回 true

contains(<Point> otherPoint) Boolean

如果给定点的两个坐标都小于相应的当前点坐标(绝对值),则返回 true

toString() String

返回点的字符串表示,用于调试目的。

Properties 属性

属性 类型 说明
x Number 点的 x 坐标
y Number 点的 y 坐标

Bounds 边界

以像素坐标代表一个矩形区域。

使用示例

var p1 = L.point(10, 10),
p2 = L.point(40, 60),
bounds = L.bounds(p1, p2);

所有接受 Bounds 对象的Leaflet方法也接受它们的简单数组形式(除非另有说明),所以上面的 bounds 例子可以这样传递:

otherBounds.intersects([[10, 10], [40, 60]]);

注意, Bounds 并不继承自 Leaflet 的 Class 对象,这意味着新的类不能继承自它,也不能用 include 函数向它添加新的方法。

Creation

构造函数 说明
L.bounds(<Point> corner1, <Point> corner2) 从两个角的坐标对创建一个 Bounds 对象。
L.bounds(<Point[]> points) 从给定的点的数组中创建一个Bounds对象。

Methods 方法

方法 返回值 说明
extend(<Point> point) this

扩展边界以包含给定的点。

getCenter(<Boolean> round?) Point

返回边界的中心点。

getBottomLeft() Point

返回边界的左下角。

getTopRight() Point

返回边界的右上角。

getTopLeft() Point

返回边界的左上角 (即 this.min)。

getBottomRight() Point

返回边界的右下角 (即 this.max)。

getSize() Point

返回给定边界的大小

contains(<Bounds> otherBounds) Boolean

如果该矩形包含给定的矩形,则返回 true

contains(<Point> point) Boolean

如果矩形包含给定的点,则返回 true

intersects(<Bounds> otherBounds) Boolean

如果矩形与给定的边界相交,返回 true 。如果两个边界至少有一个共同点,则它们相交。

overlaps(<Bounds> otherBounds) Boolean

如果矩形与给定的边界重叠,返回 true 。如果两个边界的交点是一个区域,那么它们就会重叠。

Properties 属性

属性 类型 说明
min Point 矩形的左上角。
max Point 矩形的右下角。

Icon 图标

代表创建标记时提供的一个图标。

使用示例

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 默认用于标记的蓝色图标。

Creation

构造函数 说明
L.icon(<Icon options> options) 用给定的选项创建一个图标实例。

Options 选项

选项 类型 默认值 说明
iconUrl String null (必填) 图标图像的URL(绝对路径或目前脚本所在的相对路径)。
iconRetinaUrl String null 图标图像的视网膜尺寸版本的URL(绝对路径或目前脚本所在的相对路径), 用于视网膜屏幕设备。
iconSize Point null 图标图像的尺寸,单位是像素。
iconAnchor Point null 图标 "tip" 的坐标(相对于其左上角)。图标将被对齐,使该点位于标记的地理位置。如果指定了尺寸,默认为居中,也可以在CSS中设置负的边距。
popupAnchor Point [0, 0] 弹出窗口(popup)的坐标,相对于图标锚点而言,将从该点打开。
tooltipAnchor Point [0, 0] 工具提示(tooltip)的坐标,相对于图标锚点而言,将从该点打开。
shadowUrl String null 图标阴影图像的URL。如果不指定,将不会创建阴影图像。
shadowRetinaUrl String null
shadowSize Point null 阴影图像的大小,单位是像素。
shadowAnchor Point null 阴影 "tip" 的坐标(相对于其左上角)(如果没有指定,则与iconAnchor相同)。
className String '' 用户给图标和阴影图像指定自定义类名,默认为空
crossOrigin Boolean|String false 是否将 crossOrigin 属性添加到瓦片中。 如果提供了字符串,则所有瓦片的 crossOrigin 属性都将设置为提供的字符串。 如果您想访问平铺像素数据,则需要这样做。 有关有效的字符串值,请参阅 CORS 设置

Methods 方法

方法 返回值 说明
createIcon(<HTMLElement> oldIcon?) HTMLElement

当必须显示图标时在内部调用,返回根据选项设置样式的 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 和 shadow 选项。

使用示例

var myIcon = L.divIcon({className: 'my-div-icon'});
// 你可以在 .my-div-icon CSS 中设置样式

L.marker([50.505, 30.57], {icon: myIcon}).addTo(map);

默认情况下,它有一个 'leaflet-div-icon' CSS类,并被设计成一个带有阴影的白色小方块。

Creation

构造函数 说明
L.divIcon(<DivIcon options> options) 用给定的选项创建一个 DivIcon 实例。

Options 选项

选项 类型 默认值 说明
html String|HTMLElement '' 自定义 HTML 代码,放在 div 元素内,默认为空。或者,一个 HTMLElement 的实例。
bgPos Point [0, 0] 可选的背景的相对位置,单位是像素
选项 类型 默认值 说明
iconUrl String null (必填) 图标图像的URL(绝对路径或目前脚本所在的相对路径)。
iconRetinaUrl String null 图标图像的视网膜尺寸版本的URL(绝对路径或目前脚本所在的相对路径), 用于视网膜屏幕设备。
iconSize Point null 图标图像的尺寸,单位是像素。
iconAnchor Point null 图标 "tip" 的坐标(相对于其左上角)。图标将被对齐,使该点位于标记的地理位置。如果指定了尺寸,默认为居中,也可以在CSS中设置负的边距。
popupAnchor Point [0, 0] 弹出窗口(popup)的坐标,相对于图标锚点而言,将从该点打开。
tooltipAnchor Point [0, 0] 工具提示(tooltip)的坐标,相对于图标锚点而言,将从该点打开。
shadowUrl String null 图标阴影图像的URL。如果不指定,将不会创建阴影图像。
shadowRetinaUrl String null
shadowSize Point null 阴影图像的大小,单位是像素。
shadowAnchor Point null 阴影 "tip" 的坐标(相对于其左上角)(如果没有指定,则与iconAnchor相同)。
className String '' 用户给图标和阴影图像指定自定义类名,默认为空
crossOrigin Boolean|String false 是否将 crossOrigin 属性添加到瓦片中。 如果提供了字符串,则所有瓦片的 crossOrigin 属性都将设置为提供的字符串。 如果您想访问平铺像素数据,则需要这样做。 有关有效的字符串值,请参阅 CORS 设置

Methods 方法

方法 返回值 说明
createIcon(<HTMLElement> oldIcon?) HTMLElement

当必须显示图标时在内部调用,返回根据选项设置样式的 HTML 元素。

createShadow(<HTMLElement> oldIcon?) HTMLElement

对于它下面的阴影来说,如同 createIcon

Zoom 缩放

一个基本的缩放控件,有两个按钮(放大和缩小)。除非你把它的 zoomControl 选项 设置为 false。扩展自 Control

Creation

构造函数 说明
L.control.zoom(<Control.Zoom options> options) 创建一个缩放控件

Options 选项

选项 类型 默认值 说明
zoomInText String '<span aria-hidden="true">+</span>' 设置在 'zoom in' 按钮上的文字。
zoomInTitle String 'Zoom in' 设置在 'zoom in' 按钮上的标题。
zoomOutText String '<span aria-hidden="true">&#x2212;</span>' 设置在 'zoom out' 按钮上的文字。
zoomOutTitle String 'Zoom out' 设置在 'zoom out' 按钮上的标题。
选项 类型 默认值 说明
position String 'topright' 控件的位置(地图的一个角)。可能的值是 'topleft''topright''bottomleft''bottomright'

Methods 方法

方法 返回值 说明
getPosition() string

返回控件的位置。

setPosition(<string> position) this

设置控件的位置。

getContainer() HTMLElement

返回包含该控件的 HTMLElement。

addTo(<Map> map) this

将控件添加到给定的地图中。

remove() this

将控件从当前活动的地图上删除。

Attribution 版权

控件属性允许你在地图上的一个小文本框中显示属性数据。除非你把它的 attributionControl 选项 设置为 false,否则它默认是放在地图上的,而且它可以用 getAttribution 方法 从图层中自动获取属性文本。扩展自 Control 。

Creation

构造函数 说明
L.control.attribution(<Control.Attribution options> options) 创建一个归属控件。

Options 选项

选项 类型 默认值 说明
prefix String|false 'Leaflet' 显示在属性前的 HTML 文本。传递 false 表示禁用。
选项 类型 默认值 说明
position String 'topright' 控件的位置(地图的一个角)。可能的值是 'topleft''topright''bottomleft''bottomright'

Methods 方法

方法 返回值 说明
setPrefix(<String|false> prefix) this

设置属性之前显示的 HTML 文本。通过 false 禁用。

addAttribution(<String> text) this

添加一个 Attribution 文本 (例如, 'Vector data &copy; Mapbox')。

removeAttribution(<String> text) this

移除一个 Attribution 文本。

方法 返回值 说明
getPosition() string

返回控件的位置。

setPosition(<string> position) this

设置控件的位置。

getContainer() HTMLElement

返回包含该控件的 HTMLElement。

addTo(<Map> map) this

将控件添加到给定的地图中。

remove() this

将控件从当前活动的地图上删除。

Layers 图层

图层控件使用户能够在不同的基础图层之间进行切换,并打开/关闭覆盖物图层 (请看 详细示例)。扩展自 Control

使用示例

var baseLayers = {
	"Mapbox": mapbox,
	"OpenStreetMap": osm
};

var overlays = {
	"Marker": marker,
	"Roads": roadsLayer
};

L.control.layers(baseLayers, overlays).addTo(map);

baseLayersoverlays 参数是对象字面, layer 名作为键, Layer 对象是值:

{
    "<someName1>": layer1,
    "<someName2>": layer2
}

图层名称可以包含 HTML,这使你可以为项目添加额外的样式:

{"<img src='my-layer-icon' /> <span class='my-layer-item'>My Layer</span>": myLayer}

Creation

构造函数 说明
L.control.layers(<Object> baselayers?, <Object> overlays?, <Control.Layers options> options?) 创建一个具有给定图层的图层控件。基本图层将用单选按钮切换,而覆盖物图层将用复选框切换。注意,所有的基本图层都应该在基本图层对象中传递,但在地图实例化过程中,只有一个图层应该被添加到地图中。

Options 选项

选项 类型 默认值 说明
collapsed Boolean true 如果为 true, 该控件将被折叠成一个图标,并在鼠标悬停或触摸时展开。
autoZIndex Boolean true 如果为 true, 控件将以递增的顺序为其所有图层分配 zIndexes,以便在开/关它们时保留顺序。
hideSingleBase Boolean false 如果为 true, 当只有一个基础图层时,控件中的基础图层将被隐藏。
sortLayers Boolean false 是否对各图层进行排序。如果是 false, ,图层将保持它们被添加到控件中的顺序。
sortFunction Function * 一个 排序函数 ,当 sortLayerstrue时,它将被用于对图层进行排序。该函数同时接收 L.Layer 实例和它们的名字,如 sortFunction(layerA, layerB, nameA, nameB)。默认情况下,它按照名字的字母顺序对图层进行排序。
选项 类型 默认值 说明
position String 'topright' 控件的位置(地图的一个角)。可能的值是 'topleft''topright''bottomleft''bottomright'

Methods 方法

方法 返回值 说明
addBaseLayer(<Layer> layer, <String> name) this

在控件中添加一个具有给定名称的基础图层(单选按钮条目)。

addOverlay(<Layer> layer, <String> name) this

在控件中添加一个具有给定名称的覆盖物(复选框条目)。

removeLayer(<Layer> layer) this

从控件中移除给定的图层。

expand() this

如果是折叠的,则展开控制容器。

collapse() this

如果展开,则折叠控制容器。

方法 返回值 说明
getPosition() string

返回控件的位置。

setPosition(<string> position) this

设置控件的位置。

getContainer() HTMLElement

返回包含该控件的 HTMLElement。

addTo(<Map> map) this

将控件添加到给定的地图中。

remove() this

将控件从当前活动的地图上删除。

Scale 比例尺

一个简单的比例尺控件,以公制(m/km)和英制(mi/ft)系统显示当前屏幕中心的比例。扩展自 Control

使用示例

L.control.scale().addTo(map);

Creation

构造函数 说明
L.control.scale(<Control.Scale options> options?) 用给定的选项创建一个比例尺控件。

Options 选项

选项 类型 默认值 说明
maxWidth Number 100 控件的最大宽度,单位是像素。宽度是动态设置的,以显示圆形值(如100、200、500)。
metric Boolean True 是否显示公制比例线(米/公里)。
imperial Boolean True 是否显示英制比例线(英里/英尺)。
updateWhenIdle Boolean false 如果为 true, 控件在 移动结束时被更新,否则它总是最新的( move 时更新)。
选项 类型 默认值 说明
position String 'topright' 控件的位置(地图的一个角)。可能的值是 'topleft''topright''bottomleft''bottomright'

Methods 方法

方法 返回值 说明
getPosition() string

返回控件的位置。

setPosition(<string> position) this

设置控件的位置。

getContainer() HTMLElement

返回包含该控件的 HTMLElement。

addTo(<Map> map) this

将控件添加到给定的地图中。

remove() this

将控件从当前活动的地图上删除。

Browser 浏览器

Leaflet 内部使用的具有用于浏览器/功能检测的静态属性的命名空间。

使用示例

if (L.Browser.ielt9) {
  alert('Upgrade your browser, dude!');
}

Properties 属性

属性 类型 说明
ie Boolean 当浏览器是 Internet Explorer(不是Edge)时,则返回 true
ielt9 Boolean 当浏览器是版本号小于 9 的 Internet Explorer 时则返回 true
edge Boolean 当浏览器是 Edge 浏览器时则返回 true
webkit Boolean; 当浏览器是基于 webkit 的浏览器时,如 Chrome 和 Safari(包括移动版本),则返回 true
android Boolean 当浏览器是运行在安卓平台上的任何浏览器时则都返回 true
android23 Boolean 当浏览器是运行在安卓2或安卓3上的任何浏览器时则都返回 true
androidStock Boolean 当浏览器是运行在安卓平台的任何非 Chrome 浏览器时则返回 true
opera Boolean 当浏览器是 Opera 浏览器时则返回 true
chrome Boolean 当浏览器是 Chrome 浏览器时则返回 true
gecko Boolean 当浏览器是类似于 Firefox 这种基于 gecko 的浏览器时则返回 true
safari Boolean 当浏览器是 Safari 浏览器时则返回 true
opera12 Boolean 当浏览器是支持 CSS transforms 的 Opera 浏览器(版本号是12或更高版本)时则返回 true
win Boolean 当浏览器是在 Windows 平台上运行时则返回 true
ie3d Boolean 当浏览器是支持 CSS transforms 的所有版本的 Internet Explorer 浏览器时则都返回 true
webkit3d Boolean 当浏览器是支持 CSS transforms 并且基于 webkit 的浏览器时则返回 true
gecko3d Boolean 当浏览器是支持 CSS transforms 并且基于 gecko 的浏览器时则返回 true
any3d Boolean 当浏览器是支持 CSS transforms 的浏览器时则返回 true
mobile Boolean 对于在移动设备中运行的所有浏览器来说都为 true
mobileWebkit Boolean 对移动设备中所有基于 webkit 的浏览器来说都为 true
mobileWebkit3d Boolean 对于支持 CSS transforms 的移动设备中所有基于 webkit 的浏览器来说都为true
msPointer Boolean 对于实现微软触摸事件模型的浏览器(特别是IE10)来说都为 true
pointer Boolean 对于所有支持 指针事件 的浏览器来说都为true
touchNative Boolean 对于所有支持 触摸事件的浏览器来说都为 true 。这并不一定意味着浏览器是在有触摸屏的电脑中运行的,它只意味着浏览器能够理解触摸事件。
touch Boolean 对于所有支持 touchpointer 事件的浏览器来说都为 true。 注意:pointer 事件将是首选(如果可用),并被所有 touch* 事件所监听和处理。
mobileOpera Boolean 对于移动设备中的 Opera 浏览器来说都为 true
mobileGecko Boolean 用于在移动设备中运行的基于 gecko 的浏览器来说都为 true
retina Boolean 对于高分辨率 "retina" 屏幕上的浏览器或浏览器的显示缩放率超过100%的任何屏幕上的浏览器来说,都是 true
passiveEvents Boolean 对于支持 passive 事件的浏览器来说都为 true
canvas Boolean 当浏览器支持 <canvas> 时为 true
svg Boolean 当浏览器支持 SVG 时为 true
vml Boolean 当浏览器支持 VML 时为 true

Util 工具函数

在 Leaflet 内部使用的各种工具函数。

Functions

Function 返回值 说明
extend(<Object> dest, <Object> src?) Object src 对象(或多个对象)的属性合并到 dest 对象中并返回后者。有一个 L.extend 的快捷方式。
create(<Object> proto, <Object> properties?) Object Object.create 的兼容性 polyfill
bind(<Function> fn, ) Function 返回一个与传递的参数绑定的新函数,就像 Function.prototype.bind. 。有一个 L.bind() 的快捷方式
stamp(<Object> obj) Number 返回一个对象的唯一 ID,如果它没有 ID 就给它分配一个。
throttle(<Function> fn, <Number> time, <Object> context) Function 返回一个函数,该函数以给定的范围 上下文 执行函数 fn (因此, this 关键字指的是 fn 代码中的 context )。 在给定的时间内,函数 fn 将被调用不超过一 。 被绑定的函数收到的参数将是绑定函数时传递的任何参数,然后是调用绑定函数时传递的任何参数。有一个 L.throttle 的快捷方式。
wrapNum(<Number> num, <Number[]> range, <Boolean> includeMax?) Number 返回数字 num modulo range 的方式,使其位于 range[0]range[1] 内。除非 includeMax 被设置为 true ,否则返回的值将总是小于range[1]
falseFn() Function 返回一个总是返回 false 的函数。
formatNum(<Number> num, <Number|false> precision?) Number 返回四舍五入到小数点后的 数字 num ,或者默认为6位小数。
trim(<String> str) String String.prototype.trim的兼容性 polyfill
splitWords(<String> str) String[] 在空白处对字符串进行修剪和分割,并返回各部分的数组。
setOptions(<Object> obj, <Object> options) Object 将给定的属性合并到 obj 对象的 选项 中, 返回生成的选项。 参见 Class 选项 。有一个 L.setOptions 快捷方式。
getParamString(<Object> obj, <String> existingUrl?, <Boolean> uppercase?) String 将一个对象转换为一个参数URL字符串,例如, {a: "foo", b: "bar"} 翻译为 '?a=foo&b=bar' 。如果设置了 existingUrl ,参数将被附加在最后。如果 大写字母true, 参数名称将被大写字母化 (例如 '?A=foo&B=bar')
template(<String> str, <Object> data) String 简单的模板化工具,接受 'Hello {a}, {b}' 形式的模板字符串和 {a: 'foo', b: 'bar'}这样的数据对象,返回已评估的字符串 ('Hello foo, bar')。你也可以为数据值指定函数而不是字符串——它们将通过 data 作为参数被评估。
isArray(obj) Boolean Array.isArray的兼容性 polyfill
indexOf(<Array> array, <Object> el) Number Array.prototype.indexOf 的兼容性 polyfill
requestAnimFrame(<Function> fn, <Object> context?, <Boolean> immediate?) Number 当浏览器重绘时,安排 fn 被执行。如果给定的话, fn 被绑定到 context 。如果设置了 immediate ,如果浏览器没有对 window.requestAnimationFrame 的本地支持,fn 会被立即调用,否则会被延迟。返回一个请求ID,可以用来取消请求。
cancelAnimFrame(<Number> id) undefined 取消之前的 requestAnimFrame。可以参考 window.cancelAnimationFrame

Properties 属性

属性 类型 说明
lastId Number stamp() 使用的最后一个唯一 ID
emptyImageUrl String 数据 URI 字符串,包含一个 base64 编码的空 GIF 图像。作为一个黑客,用于释放 WebKit 驱动的移动设备上未使用的图像的内存 (通过设置图像 src 为这个字符串)。

Transformation 转换

代表一个仿生转换:一组系数 a, b, c, d ,用于将一个形式为 (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)

Creation

构造函数 说明
L.transformation(<Number> a, <Number> b, <Number> c, <Number> d) 实例化一个具有给定系数的 Transformation 对象。
L.transformation(<Array> coefficients) 期待一个形式为 [a: Number, b: Number, c: Number, d: Number]的系数阵列。

Methods 方法

方法 返回值 说明
transform(<Point> point, <Number> scale?) Point

返回一个转换后的点,可以选择乘以给定的比例。只接受实际的 L.Point 实例,不接受数组。

untransform(<Point> point, <Number> scale?) Point

返回给定点的反向转换,可以选择除以给定的比例。只接受实际的 L.Point 实例,不接受数组。

LineUtil 折线工具

用于折线点处理的各种实用工具函数,Leaflet 内部使用它来快速制作折线。

Functions

Function 返回值 说明
simplify(<Point[]> points, <Number> tolerance) Point[] 使用 Douglas-Peucker 算法,大幅减少折线的点数,同时保留其形状,并返回一个新的简化点阵列。在处理/显示每个缩放级别的 Leaflet 折线时,用于巨大的性能提升,同时也减少了视觉噪音。宽容度影响简化的数量(较小的值意味着更高的质量,但速度较慢,点较多)。也作为一个独立的微库 Simplify.js发布。
pointToSegmentDistance(<Point> p, <Point> p1, <Point> p2) Number 返回点 p 和线段 p1p2之间的距离。
closestPointOnSegment(<Point> p, <Point> p1, <Point> p2) Number 返回线段 p1上的一个点 pp2的最近点。
clipSegment(<Point> a, <Point> b, <Bounds> bounds, <Boolean> useLastCode?, <Boolean> round?) Point[]|Boolean Cohen-Sutherland 算法 (直接修改线段点!)将线段 a 到 b 按矩形边界剪辑。被 Leaflet 用来只显示屏幕上或附近的折线点,提高性能。
isFlat(<LatLng[]> latlngs) Boolean 如果 latlngs 是一个平面数组,返回 true;如果是一个嵌套数组,则返回 false。

PolyUtil 多边形工具函数

用于多边形几何形状的各种实用函数。

Functions

Function 返回值 说明
clipPolygon(<Point[]> points, <Bounds> bounds, <Boolean> round?) Point[] 通过给定的边界(使用 Sutherland-Hodgman 算法)对给定的所定义的多边形几何图形进行剪辑。Leaflet 用它来显示在屏幕上或附近的多边形点,以提高性能。注意,多边形点需要不同的剪裁算法,所以有一个单独的方法来处理。

DomEvent

在 Leaflet 内部用于处理 DOM 事件的实用函数。

Functions

Function 返回值 说明
on(<HTMLElement> el, <String> types, <Function> fn, <Object> context?) this 为元素 el 的一个特定的 DOM 事件类型添加一个 listener 函数 (fn) 。你可以选择性地指定 listener 的上下文 ( this 关键字将指向的对象)。你也可以传递几个空格分隔的类型 (例如 'click dblclick')。
on(<HTMLElement> el, <Object> eventMap, <Object> context?) this 添加一组 type/listener,例如 {click: onClick, mousemove: onMouseMove}
off(<HTMLElement> el, <String> types, <Function> fn, <Object> context?) this 移除先前添加的 listener 函数。注意,如果你给 on 传递了一个自定义的上下文,你必须给 off 传递同样的上下文,以便删除 listener。
off(<HTMLElement> el, <Object> eventMap, <Object> context?) this 删除一组 type/listener,例如 {click: onClick, mousemove: onMouseMove}
off(<HTMLElement> el, <String> types) this Removes all previously added listeners of given types.
off(<HTMLElement> el) this Removes all previously added listeners from given HTMLElement
stopPropagation(<DOMEvent> ev) this 停止给定的事件向父元素传递。在 listener 函数中使用:
L.DomEvent.on(div, 'click', function (ev) {
L.DomEvent.stopPropagation(ev);
});
disableScrollPropagation(<HTMLElement> el) this stopPropagation 添加到元素的 'wheel' 事件 (加上浏览器的变体)。
disableClickPropagation(<HTMLElement> el) this stopPropagation 添加到元素的 'click''doubleclick''mousedown''touchstart' 事件 (加上浏览器的变体)。
preventDefault(<DOMEvent> ev) this 阻止DOM事件 ev 的默认事件发生(如跟随a元素的href中的链接,或在提交 <form> 时做 POST 请求并重新加载页面)。在 listener 函数中使用它。
stop(<DOMEvent> ev) this 同时做 stopPropagationpreventDefault
getMousePosition(<DOMEvent> ev, <HTMLElement> container?) Point 从DOM事件中获取相对于容器 (不包括边框) 的规范化鼠标位置,如果没有指定,则获取相对于整个页面的规范化鼠标位置。
getWheelDelta(<DOMEvent> ev) Number 从一个滚轮 DOM 事件中获取正常化的滚轮 delta,以滚动的垂直像素为单位(如果向下滚动则为负数)。来自没有精确滚动的指点设备的事件被映射为 60 像素的最佳猜测。
addListener() this L.DomEvent.on
removeListener() this L.DomEvent.off

DomUtil

在 Leaflet 内部用于处理 DOM 树的实用函数。

大多数期望或返回 HTMLElement 的函数也适用于 SVG 元素。唯一的区别是,类是指 HTML 中的 CSS 类,而 SVG 中的 SVG 类。

Functions

Function 返回值 说明
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,并可选择将其附加到 容器 元素中。
remove(<HTMLElement> el) el 从其父元素中移除
empty(<HTMLElement> el) el中删除所有 el的子元素
toFront(<HTMLElement> el) 使 el 成为其父级的最后一个子级,因此它在其他子级之前渲染。
toBack(<HTMLElement> el) 使 el 成为其父级的第一个子级,因此它渲染在其他子级之后。
hasClass(<HTMLElement> el, <String> name) Boolean 如果该元素的 class 属性包含该 class 类名,返回 true
addClass(<HTMLElement> el, <String> name) 将该 class 类名添加到元素的 class 属性中。
removeClass(<HTMLElement> el, <String> name) 从元素的 class 属性中删除 class 类名
setClass(<HTMLElement> el, <String> name) 设置元素的 class 类名。
getClass(<HTMLElement> el) String 返回元素的 class 类名。
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 Transform,使其按偏移像素进行 平移 ,并可选择按比例 缩放。如果浏览器不支持3D CSS Transform,则不会产生影响。
setPosition(<HTMLElement> el, <Point> position) el 的位置设置为由 position 指定的坐标,根据浏览器使用CSS translate 或 top/left 定位(Leaflet 内部用来定位其图层)。
getPosition(<HTMLElement> el) Point 返回之前用 setPosition 设置的元素的坐标。
disableTextSelection() 阻止用户生成 selectstart DOM 事件,通常在用户通过带有文本的页面拖动鼠标时生成。由 Leaflet 在内部使用以覆盖地图上任何点击和拖动交互的行为。影响整个文档上的拖动交互。
enableTextSelection() 取消之前 L.DomUtil.disableTextSelection的效果。
disableImageDrag() 如同 L.DomUtil.disableTextSelection,但用于 dragstart DOM事件,通常在用户拖动图片时产生。
enableImageDrag() 取消之前 L.DomUtil.disableImageDrag 的效果。
preventOutline(<HTMLElement> el) 使元素 el轮廓不可见。由 Leaflet 在内部使用,以防止可聚焦元素在用户对它们执行拖动交互时显示轮廓。
restoreOutline() 取消之前 L.DomUtil.preventOutline 的效果。
getSizedParentNode(<HTMLElement> el) HTMLElement 找到尺寸(宽和高)不为空的最近的父节点。
getScale(<HTMLElement> el) Object 计算当前应用在该元素上的CSS比例。返回一个对象,其 xy 成员分别是水平和垂直比例,而 boundingClientRectgetBoundingClientRect() 的结果。

Properties 属性

属性 类型 说明
TRANSFORM String 供应商前缀的转换样式名称 (例如,Webkit 的 'webkitTransform' )。
TRANSITION String 供应商前缀的过渡样式名称。
TRANSITION_END String 供应商前缀的 transitionend 事件名称。

PosAnimation 平移动画

在内部用于平移动画,利用现代浏览器的 CSS3 Transitions 和 IE6-9 的 timer fallback。

使用示例

var fx = new L.PosAnimation();
fx.run(el, [300, 500], 0.5);

Constructor

Constructor 说明
L.PosAnimation() 创建一个 PosAnimation 对象。

Events 事件

事件 数据 说明
start Event 当动画开始时触发
step Event 在动画期间连续触发。
end Event 动画结束时触发。

Methods 方法

方法 返回值 说明
run(<HTMLElement> el, <Point> newPos, <Number> duration?, <Number> easeLinearity?)

运行一个给定元素的动画到一个新的位置,可以选择设置持续时间(秒) (默认为 0.25 ) 和缓和线性系数 (三次贝塞尔曲线的第三个参数,默认为 0.5 )。

stop()

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

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

为对象的特定事件类型添加一个监听函数(fn)。你可以选择性地指定监听器的上下文(这个关键字将指向的对象)。你也可以传递几个空格分隔的类型(例如,'click dblclick')。

on(<Object> eventMap) this

添加一组 type/listener,例如 {click: onClick, mousemove: onMouseMove}

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

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

off(<Object> eventMap) this

删除一组 type/listener

off() this

移除该对象上所有事件的所有监听器。这包括隐含的附加事件。

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

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

listens(<String> type, <Boolean> propagate?) Boolean

如果一个特定的事件类型有任何监听器连接到它,则返回 true。验证可以选择性地被传播,如果父级有监听器连接到它,它将返回true

once() this

on(...)的行为一样,不过监听器只会被触发一次后然后被删除。

addEventParent(<Evented> obj) this

向父级 Evented 添加事件

removeEventParent(<Evented> obj) this

删除之前向父级 Evented 添加的事件

addEventListener() this

on(…)

removeEventListener() this

off(…)

clearAllEventListeners() this

off()

addOneTimeEventListener() this

once(…)

fireEvent() this

fire(…)

hasEventListeners() Boolean

listens(…)

Draggable 拖拽

一个用于使 DOM 元素可拖动的类(包括触摸支持)。内部用于地图和标记的拖动。只对用 L.DomUtil.setPosition 定位的元素起作用。

使用示例

var draggable = new L.Draggable(elementToDrag);
draggable.enable();

Constructor

Constructor 说明
L.Draggable(<HTMLElement> el, <HTMLElement> dragHandle?, <Boolean> preventOutline?, <Draggable options> options?) 当你开始拖动 dragHandle 元素 (默认等于 el 本身),创建一个 Draggable 对象用于移动 el

Options 选项

选项 类型 默认值 说明
clickTolerance Number 3 用户在单击期间被认为是有效的点击(而不是鼠标拖动)的鼠标指针可以移动的最大像素数。

Events 事件

事件 数据 说明
down Event 当一个拖动即将开始时触发。
dragstart Event 当拖动开始时被触发
predrag Event 在拖动过程中,在元素位置的每次相应更新 之前 连续触发。
drag Event 在拖动过程中连续触发。
dragend DragEndEvent 当拖动结束时被触发。

Methods 方法

方法 返回值 说明
enable()

启用拖拽功能

disable()

禁用拖拽功能

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

为对象的特定事件类型添加一个监听函数(fn)。你可以选择性地指定监听器的上下文(这个关键字将指向的对象)。你也可以传递几个空格分隔的类型(例如,'click dblclick')。

on(<Object> eventMap) this

添加一组 type/listener,例如 {click: onClick, mousemove: onMouseMove}

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

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

off(<Object> eventMap) this

删除一组 type/listener

off() this

移除该对象上所有事件的所有监听器。这包括隐含的附加事件。

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

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

listens(<String> type, <Boolean> propagate?) Boolean

如果一个特定的事件类型有任何监听器连接到它,则返回 true。验证可以选择性地被传播,如果父级有监听器连接到它,它将返回true

once() this

on(...)的行为一样,不过监听器只会被触发一次后然后被删除。

addEventParent(<Evented> obj) this

向父级 Evented 添加事件

removeEventParent(<Evented> obj) this

删除之前向父级 Evented 添加的事件

addEventListener() this

on(…)

removeEventListener() this

off(…)

clearAllEventListeners() this

off()

addOneTimeEventListener() this

once(…)

fireEvent() this

fire(…)

hasEventListeners() Boolean

listens(…)

Class 类

L.Class 为 Leaflet 的 OOP 设施提供了动力,它被用来创建这里记录的几乎所有 Leaflet 类。

除了实现一个简单的经典继承模型之外,它还引入了几个方便代码组织的特殊属性——options, includes 和 statics。

使用示例

var MyClass = L.Class.extend({
initialize: function (greeter) {
	this.greeter = greeter;
	// 类构造函数
},

greet: function (name) {
	alert(this.greeter + ', ' + name)
	}
});

// 创建 MyClass 的实例,将 "Hello" 传给构造函数
var a = new MyClass("Hello");

// 调用 greet 方法,提示 "Hello, World"
a.greet("World");

Class Factories

您可能已经注意到 Leaflet 对象是在不使用 new 关键字的情况下创建的。这是通过用小写工厂方法补充每个类来实现的:

new L.Map('map'); // becomes:
L.map('map');

工厂的实现非常容易,你可以为你自己的类做这个:

L.map = function (id, options) {
    return new L.Map(id, options);
};

Inheritance 继承

你使用 L.Class.extend 来定义新的类,但你可以在任何类上使用同样的方法来继承它:

var MyChildClass = MyClass.extend({
	// ... 新的属性和方法
});

这将创建一个继承父类的所有方法和属性的类(通过适当的原型链),添加或覆盖您传递给扩展的方法和属性。它也会对 instanceof 做出正确的反应:

var a = new MyChildClass();
a instanceof MyChildClass; // true
a instanceof MyClass; // true

您可以通过访问父类原型并使用 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 选项

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}

请注意,options对象允许任何键,而不仅仅是该类及其基类所定义的选项。这意味着你可以使用options对象来存储应用程序的特定信息,只要你避免使用已经被有关类使用的键。

Includes 包含

includes 是一个特殊的类属性,它将所有指定的对象合并到类中(这样的对象被称为mixins)。

 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'

Constructor hooks

如果你是一个插件的开发者,你经常需要为现有的类添加额外的初始化代码 (例如,为 L.Polyline 编辑钩子)。Leaflet自带了一种方法,可以使用 addInitHook 方法轻松做到这一点:

MyClass.addInitHook(function () {
    // ... 在构造函数中额外做一些事情
    // 例如添加事件侦听器,设置自定义属性等。
});

当您只需要进行一个额外的方法调用时,您也可以使用以下快捷方式:

MyClass.addInitHook('methodName', arg1, arg2, …);

Functions 函数

Function 返回值 说明
extend(<Object> props) Function 扩展当前的类 ,给定要包括的属性。返回一个Javascript函数,该函数是一个类的构造函数 (可与 new 一起调用)。
include(<Object> properties) this 在当前类中包含一个 mixin
mergeOptions(<Object> options) this 合并 选项 到类的默认值中。
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);

Methods 方法

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

为对象的特定事件类型添加一个监听函数(fn)。你可以选择性地指定监听器的上下文(这个关键字将指向的对象)。你也可以传递几个空格分隔的类型(例如,'click dblclick')。

on(<Object> eventMap) this

添加一组 type/listener,例如 {click: onClick, mousemove: onMouseMove}

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

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

off(<Object> eventMap) this

删除一组 type/listener

off() this

移除该对象上所有事件的所有监听器。这包括隐含的附加事件。

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

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

listens(<String> type, <Boolean> propagate?) Boolean

如果一个特定的事件类型有任何监听器连接到它,则返回 true。验证可以选择性地被传播,如果父级有监听器连接到它,它将返回true

once() this

on(...)的行为一样,不过监听器只会被触发一次后然后被删除。

addEventParent(<Evented> obj) this

向父级 Evented 添加事件

removeEventParent(<Evented> obj) this

删除之前向父级 Evented 添加的事件

addEventListener() this

on(…)

removeEventListener() this

off(…)

clearAllEventListeners() this

off()

addOneTimeEventListener() this

once(…)

fireEvent() this

fire(…)

hasEventListeners() Boolean

listens(…)

Layer 图层

一组来自 Layer 基类的方法,所有 Leaflet 图层都使用。继承 L.Evented的所有方法、选项和事件。

使用示例

var layer = L.marker(latlng).addTo(map);
layer.addTo(map);
layer.remove();

Options 选项

选项 类型 默认值 说明
pane String 'overlayPane' 默认情况下,该图层将被添加到地图的 overlay pane(覆盖窗格)中。 覆盖该选项将导致该图层被默认放置在另一个窗格中。
attribution String null 归属控制中要显示的字符串,例如 "© OpenStreetMap 贡献者"。 它描述了图层数据,通常是对版权所有者和瓦片提供者的法律义务。

Events 事件

事件 数据 说明
add Event 在图层添加到地图后触发
remove Event 从地图中移除图层后触发

Popup events

事件 数据 说明
popupopen PopupEvent 当绑定到该层的 popup 打开时触发
popupclose PopupEvent 当绑定到该层的 popup 关闭时触发

Tooltip events

事件 数据 说明
tooltipopen TooltipEvent 当绑定到该层的 tooltip 打开时触发。
tooltipclose TooltipEvent 当绑定到该层的 tooltip 关闭时触发。

Methods 方法

扩展 L.Layer 的类将继承以下方法:
方法 返回值 说明
addTo(<Map|LayerGroup> map) this

将图层添加到指定的地图或图层组(LayerGroup)。

remove() this

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

removeFrom(<Map> map) this

从指定的地图中删除图层

removeFrom(<LayerGroup> group) this

从指定的 LayerGroup 中删除该图层。

getPane(<String> name?) HTMLElement

返回代表地图上指定窗格的 HTMLElement。如果 name 被省略,则返回该层的窗格。

getAttribution() String

attribution 控件使用,返回 attribution 选项

Extension methods 扩展方法

每一个图层都应该从 L.Layer ,并(重新)实现以下方法。
方法 返回值 说明
onAdd(<Map> map) this

应该包含为图层创建 DOM 元素的代码,将它们添加到应该属于它们的 地图窗格 中,并在相关的地图事件上放置 listeners。在 map.addLayer(layer)上调用。

onRemove(<Map> map) this

应该包含所有的清理代码,将图层的元素从DOM中移除,并移除之前在 onAdd中添加的 listeners。在 map.removeLayer(layer)上调用。

getEvents() Object

这个可选的方法应该返回一个类似 { viewreset: this._reset } 的对象,用于 addEventListener。这个对象中的事件处理程序将随你的图层自动添加和删除。

getAttribution() String

这个可选的方法应该返回一个包含 HTML 的字符串,只要该图层是可见的,就会显示在 Attribution 控件 上。

beforeAdd(<Map> map) this

可选的方法。在 map.addLayer(layer)上调用,在图层被添加到地图之前,在事件被初始化之前,无需等待地图处于可用状态。只用于早期初始化。

Popup 方法

所有的图层都共享一套方法,方便将 popup 绑定到它。
var layer = L.Polygon(latlngs).bindPopup('Hi There!').addTo(map);
layer.openPopup();
layer.closePopup();

单击图层时弹出窗口也会自动打开,当图层从地图中移除或打开另一个弹出窗口时会关闭弹出窗口。

方法 返回值 说明
bindPopup(<String|HTMLElement|Function|Popup> content, <Popup options> options?) this

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

unbindPopup() this 移除之前用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的弹出窗口,如果没有设置 latlng,则在默认的位置打开弹窗(popup)。

closePopup() this

如果与当前图层绑定的弹窗(popup)时打开的,则关闭当前弹窗。

togglePopup() this

根据当前状态,打开或关闭与该层绑定的弹出窗口。

isPopupOpen() boolean

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

setPopupContent(<String|HTMLElement|Popup> content) this

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

getPopup() Popup

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

Tooltip 方法

所有的图层都共享一套方法,方便将 tooltip 绑定到它。
var layer = L.Polygon(latlngs).bindTooltip('Hi There!').addTo(map);
layer.openTooltip();
layer.closeTooltip();
方法 返回值 说明
bindTooltip(<String|HTMLElement|Function|Tooltip> content, <Tooltip options> options?) this

将工具提示(tooltip)绑定到传入的图层 content 并设置必要的事件侦听器。如果一个 Function 被传递,它将接收图层作为第一个参数,并应返回 StringHTMLElement

unbindTooltip() this

移除之前用 bindTooltip 绑定的工具提示(tooltip)。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的工具提示(tooltip),如果没有指定 latlng,则在默认的锚点打开工具提示(tooltip)。

closeTooltip() this

如果该图层处于打开状态,则关闭绑定到该图层的工具提示。

toggleTooltip() this

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

isTooltipOpen() boolean

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

setTooltipContent(<String|HTMLElement|Tooltip> content) this

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

getTooltip() Tooltip

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

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

为对象的特定事件类型添加一个监听函数(fn)。你可以选择性地指定监听器的上下文(这个关键字将指向的对象)。你也可以传递几个空格分隔的类型(例如,'click dblclick')。

on(<Object> eventMap) this

添加一组 type/listener,例如 {click: onClick, mousemove: onMouseMove}

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

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

off(<Object> eventMap) this

删除一组 type/listener

off() this

移除该对象上所有事件的所有监听器。这包括隐含的附加事件。

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

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

listens(<String> type, <Boolean> propagate?) Boolean

如果一个特定的事件类型有任何监听器连接到它,则返回 true。验证可以选择性地被传播,如果父级有监听器连接到它,它将返回true

once() this

on(...)的行为一样,不过监听器只会被触发一次后然后被删除。

addEventParent(<Evented> obj) this

向父级 Evented 添加事件

removeEventParent(<Evented> obj) this

删除之前向父级 Evented 添加的事件

addEventListener() this

on(…)

removeEventListener() this

off(…)

clearAllEventListeners() this

off()

addOneTimeEventListener() this

once(…)

fireEvent() this

fire(…)

hasEventListeners() Boolean

listens(…)

Interactive layer 交互图层

一些 Layer可以交互——当用户与这样的图层交互时,可以处理鼠标事件,如 clickmouseover 。 使用 事件处理方法 来处理这些事件。

Options 选项

选项 类型 默认值 说明
interactive Boolean true 如果是 false, 该图层将不会发出鼠标事件,而是作为底层地图的一部分。
bubblingMouseEvents Boolean true 当为 true 时,此标记上的鼠标事件将触发地图上的相同事件(除非使用 L.DomEvent.stopPropagation)。
选项 类型 默认值 说明
pane String 'overlayPane' 默认情况下,该图层将被添加到地图的 overlay pane(覆盖窗格)中。 覆盖该选项将导致该图层被默认放置在另一个窗格中。
attribution String null 归属控制中要显示的字符串,例如 "© OpenStreetMap 贡献者"。 它描述了图层数据,通常是对版权所有者和瓦片提供者的法律义务。

Events 事件

Mouse events 鼠标事件

事件 数据 说明
click MouseEvent 当用户 click 或 tap 该图层时触发。
dblclick MouseEvent 当用户 double-click 或 double-tap 该图层时触发。
mousedown MouseEvent 当用户在该图层上按下鼠标按钮时触发。
mouseup MouseEvent 当用户在该图层上释放按下的鼠标按钮时触发。
mouseover MouseEvent 鼠标进入该图层时触发。
mouseout MouseEvent 当鼠标离开该图层时触发。
contextmenu MouseEvent 当用户在图层上点击右键时触发,如果该事件有监听者,可以防止显示默认的浏览器上下文菜单。在手机上,当用户保持单次触摸一秒钟(也叫长按)时也会触发。
事件 数据 说明
add Event 在图层添加到地图后触发
remove Event 从地图中移除图层后触发
事件 数据 说明
popupopen PopupEvent 当绑定到该层的 popup 打开时触发
popupclose PopupEvent 当绑定到该层的 popup 关闭时触发
事件 数据 说明
tooltipopen TooltipEvent 当绑定到该层的 tooltip 打开时触发。
tooltipclose TooltipEvent 当绑定到该层的 tooltip 关闭时触发。

Methods 方法

方法 返回值 说明
addTo(<Map|LayerGroup> map) this

将图层添加到指定的地图或图层组(LayerGroup)。

remove() this

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

removeFrom(<Map> map) this

从指定的地图中删除图层

removeFrom(<LayerGroup> group) this

从指定的 LayerGroup 中删除该图层。

getPane(<String> name?) HTMLElement

返回代表地图上指定窗格的 HTMLElement。如果 name 被省略,则返回该层的窗格。

getAttribution() String

attribution 控件使用,返回 attribution 选项

方法 返回值 说明
bindPopup(<String|HTMLElement|Function|Popup> content, <Popup options> options?) this

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

unbindPopup() this 移除之前用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的弹出窗口,如果没有设置 latlng,则在默认的位置打开弹窗(popup)。

closePopup() this

如果与当前图层绑定的弹窗(popup)时打开的,则关闭当前弹窗。

togglePopup() this

根据当前状态,打开或关闭与该层绑定的弹出窗口。

isPopupOpen() boolean

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

setPopupContent(<String|HTMLElement|Popup> content) this

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

getPopup() Popup

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

方法 返回值 说明
bindTooltip(<String|HTMLElement|Function|Tooltip> content, <Tooltip options> options?) this

将工具提示(tooltip)绑定到传入的图层 content 并设置必要的事件侦听器。如果一个 Function 被传递,它将接收图层作为第一个参数,并应返回 StringHTMLElement

unbindTooltip() this

移除之前用 bindTooltip 绑定的工具提示(tooltip)。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的工具提示(tooltip),如果没有指定 latlng,则在默认的锚点打开工具提示(tooltip)。

closeTooltip() this

如果该图层处于打开状态,则关闭绑定到该图层的工具提示。

toggleTooltip() this

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

isTooltipOpen() boolean

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

setTooltipContent(<String|HTMLElement|Tooltip> content) this

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

getTooltip() Tooltip

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

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

为对象的特定事件类型添加一个监听函数(fn)。你可以选择性地指定监听器的上下文(这个关键字将指向的对象)。你也可以传递几个空格分隔的类型(例如,'click dblclick')。

on(<Object> eventMap) this

添加一组 type/listener,例如 {click: onClick, mousemove: onMouseMove}

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

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

off(<Object> eventMap) this

删除一组 type/listener

off() this

移除该对象上所有事件的所有监听器。这包括隐含的附加事件。

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

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

listens(<String> type, <Boolean> propagate?) Boolean

如果一个特定的事件类型有任何监听器连接到它,则返回 true。验证可以选择性地被传播,如果父级有监听器连接到它,它将返回true

once() this

on(...)的行为一样,不过监听器只会被触发一次后然后被删除。

addEventParent(<Evented> obj) this

向父级 Evented 添加事件

removeEventParent(<Evented> obj) this

删除之前向父级 Evented 添加的事件

addEventListener() this

on(…)

removeEventListener() this

off(…)

clearAllEventListeners() this

off()

addOneTimeEventListener() this

once(…)

fireEvent() this

fire(…)

hasEventListeners() Boolean

listens(…)

Control 控件

L.Control是一个实现地图控件的基类。负责处理定位。 所有其他的控件都是从这个类中延伸出来的。

Options 选项

选项 类型 默认值 说明
position String 'topright' 控件的位置(地图的一个角)。可能的值是 'topleft''topright''bottomleft''bottomright'

Methods 方法

扩展 L.Control 的类将继承以下方法:
方法 返回值 说明
getPosition() string

返回控件的位置。

setPosition(<string> position) this

设置控件的位置。

getContainer() HTMLElement

返回包含该控件的 HTMLElement。

addTo(<Map> map) this

将控件添加到给定的地图中。

remove() this

将控件从当前活动的地图上删除。

Extension methods 扩展方法

每个控件都应该从 L.Control 扩展并(重新)实现以下方法。
方法 返回值 说明
onAdd(<Map> map) HTMLElement

应该返回控件的容器 DOM 元素,并在相关的地图事件上添加监听器。在 control.addTo(map) 上调用。

onRemove(<Map> map)

可选的方法。应该包含所有清理代码,删除之前在 onAdd 中添加的监听器。在 control.remove() 中被调用。

Handler 处理程序

地图交互处理程序的抽象类

Methods 方法

方法 返回值 说明
enable() this

启用处理程序

disable() this

禁用处理程序

enabled() Boolean

如果处理程序被启用,返回 true

Extension methods 扩展方法

继承自 Handler 的类必须实现以下两个方法:
方法 返回值 说明
addHooks()

当处理程序被启用时被调用,应该添加事件钩子。

removeHooks()

当处理程序被禁用时被调用,应该删除之前添加的事件钩子。

Functions 函数

有一个静态函数可以在不实例化 L.Handler 的情况下被调用:

Function 返回值 说明
addTo(<Map> map, <String> name) this 在给定的地图上添加一个新的处理程序,并给定名称。

Projection 地图投影

具有将世界的地理坐标投影到平面(和背面)的方法的对象。 请参阅 地图投影

Methods 方法

方法 返回值 说明
project(<LatLng> latlng) Point

将地理坐标投影到 2D 点中。 只接受实际的 L.LatLng 实例,而不是数组。

unproject(<Point> point) LatLng

project的反面。 将 2D 点投影到地理位置。 只接受实际的 L.Point 实例,不接受数组。

请注意,投影实例不继承于 Leaflet 的 Class 对象,也不能被实例化。而且,新的类不能继承自它们,方法也不能用 include 函数添加到它们中。

Properties 属性

属性 类型 说明
bounds Bounds 投影有效的边界(以 CRS 单位指定)

Defined projections 自定义投影

Leaflet 随附一组已定义的开箱即用的投影:
Projection 说明
L.Projection.LonLat Equirectangular 或 Plate Carree 投影 — 最简单的投影,主要由 GIS 爱好者使用。 直接将 x 映射为经度,将 y 映射为纬度。 也适用于平坦的世界,例如 游戏地图。 由 EPSG:4326Simple CRS 使用。
L.Projection.Mercator 椭圆墨卡托投影——比球面墨卡托更复杂。 假设地球是一个椭球体。 EPSG 使用:3395 CRS。
L.Projection.SphericalMercator 球面墨卡托投影 — 最常见的在线地图投影,几乎所有免费和商业瓦片供应商都在使用。 假设地球是一个球体。 EPSG 使用:3857 CRS。

CRS 坐标系

Methods 方法

方法 返回值 说明
latLngToPoint(<LatLng> latlng, <Number> zoom) Point

将地理坐标投影到给定缩放的像素坐标中。

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

latLngToPoint的倒数。 将给定缩放上的像素坐标投影到地理坐标中。

project(<LatLng> latlng) Point

将地理坐标投影为接受单位的坐标 此 CRS(例如 EPSG:3857 的仪表,用于将其传递给 WMS 服务)。

unproject(<Point> point) LatLng

给定一个投影坐标返回相应的 LatLng。 project的反面。

scale(<Number> zoom) Number

返回将投影坐标转换为特定缩放的像素坐标时使用的比例。 例如,它为基于墨卡托的 CRS 返回 256 * 2^zoom

zoom(<Number> scale) Number

scale()的反函数,返回与 scale的比例因子对应的缩放级别。

getProjectedBounds(<Number> zoom) Bounds

返回投影的边界,并根据提供的 缩放比例进行转换。

distance(<LatLng> latlng1, <LatLng> latlng2) Number

返回两个地理坐标之间的距离。

wrapLatLng(<LatLng> latlng) LatLng

返回一个 LatLng ,其中 lat 和 lng 已根据 CRS 的 wrapLatwrapLng 属性进行包装,如果它们超出 CRS 的边界。

wrapLatLngBounds(<LatLngBounds> bounds) LatLngBounds

返回一个与给定大小相同的 LatLngBounds ,确保其中心在CRS的范围内。只接受实际的 L.LatLngBounds 实例,不接受数组。

Properties 属性

属性 类型 说明
code String 传递到 WMS 服务的 CRS 的标准代码名称 (例如 'EPSG:3857')
wrapLng Number[] 由两个数字组成的数组,用于定义经度(水平)坐标轴是否环绕给定范围以及如何环绕。 在大多数地理 CRS 中默认为 [-180, 180] 。 如果 undefined,则经度轴不会环绕。
wrapLat Number[] wrapLng类似,但用于纬度(垂直)轴。
infinite Boolean 如果为 true ,坐标空间将是无界的(在两个轴上是无限的)。

Defined CRSs 定义 CRSs

CRS 说明
L.CRS.EPSG3395 一些商业瓦片供应商很少使用。使用椭圆墨卡托投影。
L.CRS.EPSG3857 在线地图最常见的 CRS,几乎所有的免费和商业瓦片供应商都在使用。使用球面墨卡托投影。默认设置在地图的 crs 选项中。
L.CRS.EPSG4326 GIS爱好者中常见的一种CRS。使用简单的等角投影。

Leaflet 1.0.x 符合 EPSG:4326 的 TMS 坐标方案,这是对 0.7.x 行为的重大更改。 如果您在此 CRS 中使用 TileLayer ,请确保有两个 256x256 像素的图块以零缩放级别覆盖整个地球,并且图块坐标原点为 (-180,+90) 或 (-180,-90) 对于设置了 tms 选项TileLayer

L.CRS.Earth 作为覆盖地球的全球 CRS 的基础。 只能作为其他CRS的基础,不能直接使用,因为它没有 codeprojectiontransformationdistance() 返回米。
L.CRS.Simple 一个简单的 CRS,将经度和纬度直接映射为 xy 。可用于平坦表面的地图(例如游戏地图)。注意, y 轴仍然应该是倒置的(从下往上)。 distance() 返回简单的欧氏距离。
L.CRS.Base 定义坐标参考系统的对象,用于将地理点投射到像素(屏幕)坐标并返回 (以及投射到其他单位的坐标,用于 WMS 服务)。见 空间参考系统

Leaflet 默认定义了最常用的CRS。如果你想使用默认情况下没有定义的CRS,可以看看 Proj4Leaflet 插件。

请注意,CRS 实例不继承 Leaflet 的 Class 对象,也不能被实例化。而且,新的类不能继承自它们,方法也不能用 include 函数添加到它们中。

Renderer 矢量渲染器

矢量渲染器实现 (SVGCanvas) 的基类。 处理渲染器的 DOM 容器、它的边界和它的缩放动画。

渲染器 作为所有 路径的隐式图层组工作--渲染器本身可以被添加或移除到地图中。所有路径都使用一个渲染器,它可以是隐式的 (地图会决定渲染器的类型并自动使用) ,也可以是显式的 (使用路径的 渲染器 选项)。

不要直接使用这个类,而是使用 SVGCanvas

Options 选项

选项 类型 默认值 说明
padding Number 0.1 在地图视图周围填充多少剪切区域(相对于其大小),例如0.1是在每个方向填充地图视图的10%
选项 类型 默认值 说明
pane String 'overlayPane' 默认情况下,该图层将被添加到地图的 overlay pane(覆盖窗格)中。 覆盖该选项将导致该图层被默认放置在另一个窗格中。
attribution String null 归属控制中要显示的字符串,例如 "© OpenStreetMap 贡献者"。 它描述了图层数据,通常是对版权所有者和瓦片提供者的法律义务。

Events 事件

事件 数据 说明
update Event 当渲染器更新边界、中心和缩放时触发,例如地图移动时
事件 数据 说明
add Event 在图层添加到地图后触发
remove Event 从地图中移除图层后触发
事件 数据 说明
popupopen PopupEvent 当绑定到该层的 popup 打开时触发
popupclose PopupEvent 当绑定到该层的 popup 关闭时触发
事件 数据 说明
tooltipopen TooltipEvent 当绑定到该层的 tooltip 打开时触发。
tooltipclose TooltipEvent 当绑定到该层的 tooltip 关闭时触发。

Methods 方法

方法 返回值 说明
addTo(<Map|LayerGroup> map) this

将图层添加到指定的地图或图层组(LayerGroup)。

remove() this

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

removeFrom(<Map> map) this

从指定的地图中删除图层

removeFrom(<LayerGroup> group) this

从指定的 LayerGroup 中删除该图层。

getPane(<String> name?) HTMLElement

返回代表地图上指定窗格的 HTMLElement。如果 name 被省略,则返回该层的窗格。

getAttribution() String

attribution 控件使用,返回 attribution 选项

方法 返回值 说明
bindPopup(<String|HTMLElement|Function|Popup> content, <Popup options> options?) this

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

unbindPopup() this 移除之前用 bindPopup 绑定的弹出窗口。

openPopup(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的弹出窗口,如果没有设置 latlng,则在默认的位置打开弹窗(popup)。

closePopup() this

如果与当前图层绑定的弹窗(popup)时打开的,则关闭当前弹窗。

togglePopup() this

根据当前状态,打开或关闭与该层绑定的弹出窗口。

isPopupOpen() boolean

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

setPopupContent(<String|HTMLElement|Popup> content) this

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

getPopup() Popup

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

方法 返回值 说明
bindTooltip(<String|HTMLElement|Function|Tooltip> content, <Tooltip options> options?) this

将工具提示(tooltip)绑定到传入的图层 content 并设置必要的事件侦听器。如果一个 Function 被传递,它将接收图层作为第一个参数,并应返回 StringHTMLElement

unbindTooltip() this

移除之前用 bindTooltip 绑定的工具提示(tooltip)。

openTooltip(<LatLng> latlng?) this

在指定的 latlng 处打开绑定的工具提示(tooltip),如果没有指定 latlng,则在默认的锚点打开工具提示(tooltip)。

closeTooltip() this

如果该图层处于打开状态,则关闭绑定到该图层的工具提示。

toggleTooltip() this

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

isTooltipOpen() boolean

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

setTooltipContent(<String|HTMLElement|Tooltip> content) this

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

getTooltip() Tooltip

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

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

为对象的特定事件类型添加一个监听函数(fn)。你可以选择性地指定监听器的上下文(这个关键字将指向的对象)。你也可以传递几个空格分隔的类型(例如,'click dblclick')。

on(<Object> eventMap) this

添加一组 type/listener,例如 {click: onClick, mousemove: onMouseMove}

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

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

off(<Object> eventMap) this

删除一组 type/listener

off() this

移除该对象上所有事件的所有监听器。这包括隐含的附加事件。

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

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

listens(<String> type, <Boolean> propagate?) Boolean

如果一个特定的事件类型有任何监听器连接到它,则返回 true。验证可以选择性地被传播,如果父级有监听器连接到它,它将返回true

once() this

on(...)的行为一样,不过监听器只会被触发一次后然后被删除。

addEventParent(<Evented> obj) this

向父级 Evented 添加事件

removeEventParent(<Evented> obj) this

删除之前向父级 Evented 添加的事件

addEventListener() this

on(…)

removeEventListener() this

off(…)

clearAllEventListeners() this

off()

addOneTimeEventListener() this

once(…)

fireEvent() this

fire(…)

hasEventListeners() Boolean

listens(…)

Event objects 事件对象

每当从 Evented 继承的类触发事件时,都会使用事件参数调用侦听器函数,该参数是包含有关事件信息的普通对象。 例如:

map.on('click', function(ev) {
    alert(ev.latlng); // ev is an event object (MouseEvent in this case)
});

可用信息取决于事件类型:

Event 事件

基本事件对象。 所有其他事件对象也包含这些属性。
属性 类型 说明
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 Point 鼠标事件发生点相对于地图图层的像素坐标。
containerPoint Point 鼠标事件发生的点相对于地图容器的像素坐标。
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 Number 以米为单位的位置精度。
altitude Number 位置高于 WGS84 椭圆体的高度,以米为单位。
altitudeAccuracy Number 以米为单位的高度精度。
heading Number 以度为单位的行进方向,从真北顺时针计数。
speed Number 当前速度(以米/秒为单位)。
timestamp Number 获得位置的时间。
属性 类型 说明
type String 事件类型(例如,'click')。
target Object 触发事件的对象。对于传播事件,传播链中触发事件的最后一个对象。
sourceTarget Object 最初触发该事件的对象。对于非传播的事件,这将与 target 相同。
propagatedFrom Object 对于传播的事件,将事件传播到其事件父级的最后一个对象。
layer Object 已弃用。propagatedFrom 相同。

ErrorEvent 错误事件

属性 类型 说明
message String 错误信息。
code Number 错误代码(如果适用)。
属性 类型 说明
type String 事件类型(例如,'click')。
target Object 触发事件的对象。对于传播事件,传播链中触发事件的最后一个对象。
sourceTarget Object 最初触发该事件的对象。对于非传播的事件,这将与 target 相同。
propagatedFrom Object 对于传播的事件,将事件传播到其事件父级的最后一个对象。
layer Object 已弃用。propagatedFrom 相同。

LayerEvent 图层事件

属性 类型 说明
layer Layer 添加或删除的图层。
属性 类型 说明
type String 事件类型(例如,'click')。
target Object 触发事件的对象。对于传播事件,传播链中触发事件的最后一个对象。
sourceTarget Object 最初触发该事件的对象。对于非传播的事件,这将与 target 相同。
propagatedFrom Object 对于传播的事件,将事件传播到其事件父级的最后一个对象。

LayersControlEvent 图层控制事件

属性 类型 说明
layer Layer 添加或删除的图层。
name String 添加或删除的图层的名称。
属性 类型 说明
type String 事件类型(例如,'click')。
target Object 触发事件的对象。对于传播事件,传播链中触发事件的最后一个对象。
sourceTarget Object 最初触发该事件的对象。对于非传播的事件,这将与 target 相同。
propagatedFrom Object 对于传播的事件,将事件传播到其事件父级的最后一个对象。

TileEvent 瓦片事件

属性 类型 说明
tile HTMLElement 瓦片元素(图像)。
coords Point 具有瓦片的 xy、 和 z (缩放级别) 坐标的点对象。
属性 类型 说明
type String 事件类型(例如,'click')。
target Object 触发事件的对象。对于传播事件,传播链中触发事件的最后一个对象。
sourceTarget Object 最初触发该事件的对象。对于非传播的事件,这将与 target 相同。
propagatedFrom Object 对于传播的事件,将事件传播到其事件父级的最后一个对象。
layer Object 已弃用。propagatedFrom 相同。

TileErrorEvent 瓦片错误事件

属性 类型 说明
tile HTMLElement 瓦片元素(图像)。
coords Point 具有瓦片的 xy、 和 z (缩放级别) 坐标的点对象。
error * 传递给瓦片的 done() 回调的错误信息。
属性 类型 说明
type String 事件类型(例如,'click')。
target Object 触发事件的对象。对于传播事件,传播链中触发事件的最后一个对象。
sourceTarget Object 最初触发该事件的对象。对于非传播的事件,这将与 target 相同。
propagatedFrom Object 对于传播的事件,将事件传播到其事件父级的最后一个对象。
layer Object 已弃用。propagatedFrom 相同。

ResizeEvent 调整尺寸事件

属性 类型 说明
oldSize Point resize 事件之前的旧尺寸。
newSize Point resize 事件后的新尺寸。
属性 类型 说明
type String 事件类型(例如,'click')。
target Object 触发事件的对象。对于传播事件,传播链中触发事件的最后一个对象。
sourceTarget Object 最初触发该事件的对象。对于非传播的事件,这将与 target 相同。
propagatedFrom Object 对于传播的事件,将事件传播到其事件父级的最后一个对象。
layer Object 已弃用。propagatedFrom 相同。

GeoJSONEvent GeoJSON事件

属性 类型 说明
layer Layer 要添加到地图的 GeoJSON 要素的图层。
properties Object 要素的 GeoJSON 属性。
geometryType String 要素的 GeoJSON 几何类型。
id String 要素的 GeoJSON ID(如果存在)。
属性 类型 说明
type String 事件类型(例如,'click')。
target Object 触发事件的对象。对于传播事件,传播链中触发事件的最后一个对象。
sourceTarget Object 最初触发该事件的对象。对于非传播的事件,这将与 target 相同。
propagatedFrom Object 对于传播的事件,将事件传播到其事件父级的最后一个对象。

PopupEvent 弹窗事件

属性 类型 说明
popup Popup 打开或关闭 Popup。
属性 类型 说明
type String 事件类型(例如,'click')。
target Object 触发事件的对象。对于传播事件,传播链中触发事件的最后一个对象。
sourceTarget Object 最初触发该事件的对象。对于非传播的事件,这将与 target 相同。
propagatedFrom Object 对于传播的事件,将事件传播到其事件父级的最后一个对象。
layer Object 已弃用。propagatedFrom 相同。

TooltipEvent 工具提示事件

属性 类型 说明
tooltip Tooltip 打开或关闭 Tooltip。
属性 类型 说明
type String 事件类型(例如,'click')。
target Object 触发事件的对象。对于传播事件,传播链中触发事件的最后一个对象。
sourceTarget Object 最初触发该事件的对象。对于非传播的事件,这将与 target 相同。
propagatedFrom Object 对于传播的事件,将事件传播到其事件父级的最后一个对象。
layer Object 已弃用。propagatedFrom 相同。

DragEndEvent 拖动结束事件

属性 类型 说明
distance Number 可拖动元素移动的距离(以像素为单位)。
属性 类型 说明
type String 事件类型(例如,'click')。
target Object 触发事件的对象。对于传播事件,传播链中触发事件的最后一个对象。
sourceTarget Object 最初触发该事件的对象。对于非传播的事件,这将与 target 相同。
propagatedFrom Object 对于传播的事件,将事件传播到其事件父级的最后一个对象。
layer Object 已弃用。propagatedFrom 相同。

ZoomAnimEvent 缩放动画事件

属性 类型 说明
center LatLng 当前地图的中心
zoom Number 地图的当前缩放级别
noUpdate Boolean 由于此事件,图层是否应更新其内容
属性 类型 说明
type String 事件类型(例如,'click')。
target Object 触发事件的对象。对于传播事件,传播链中触发事件的最后一个对象。
sourceTarget Object 最初触发该事件的对象。对于非传播的事件,这将与 target 相同。
propagatedFrom Object 对于传播的事件,将事件传播到其事件父级的最后一个对象。
layer Object 已弃用。propagatedFrom 相同。

Global Switches 全局开关

全局开关是为极少数情况创建的,即使它是特定的浏览器功能,Leaflet 也不会检测到 那里。 您需要在页面上包含 Leaflet 之前,将 switch 作为全局变量设置为 true 像这样:

<script>L_NO_TOUCH = true;</script>
<script src="leaflet.js"></script>
Switch 说明
L_NO_TOUCH 强制 Leaflet 不使用触摸事件,即使它检测到它们。
L_DISABLE_3D 强制 Leaflet 不使用硬件加速的 CSS 3D 转换进行定位(这可能会在某些罕见的环境中导致故障),即使它们受支持。

noConflict 原始值

这个方法将 L 全局变量恢复到Leaflet包含之前的原始值,并返回真正的Leaflet命名空间,所以你可以把它放在其他地方,像这样:

<script src='libs/l.js'>
<!-- L 指向某个其他库 -->

<script src='leaflet.js'>
<!-- 您包含 Leaflet,它将 L 变量替换为 Leaflet 命名空间 -->

<script>
var Leaflet = L.noConflict();
// 现在 L 再次指向另一个库,您可以使用 Leaflet.Map 等。
</script>

version 版本号

代表正在使用的 Leaflet 版本信息。

L.version; // contains "1.0.0" (或当前使用的任何版本)