API文档 - 火星科技翻译中文版

本文所使用的Leaflet版本是 v1.0.3. 如果你使用的是版本不一致,请下载使用对应版本.

查看英文原版API请参阅: 英文原版API →     注:翻译不保证完全正确,不明确的地方请参考英文原版!


Map

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参数选项

Option参数 类型 默认值 说明
preferCanvas Boolean false 是否应该在一个 Canvas (画布)渲染器上呈现 Path(路径).默认情况下,所有路径都是在 SVG呈现程序中呈现的.

控件 选项

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

交互 选项

Option参数 类型 默认值 说明
closePopupOnClick Boolean true 如果你不想让Popup弹窗在用户点击地图时关闭,那就把它设为false.
zoomSnap Number 1 强制地图的缩放级别始终为此的倍数,特别是在 fitBounds() 缩放或缩小后。默认情况下,缩放级别将捕捉到最接近的整数; 较低的值(例如0.5 or 0.1)允许更大的粒度。数值0意味着缩放级别将不会被fitBounds放大或缩小。 可以设置小于1(例如0.5)的值允许更大的展示粒度。
zoomDelta Number 1 控制当使用了 zoomIn()zoomOut()以及按+ -键或者使用Zoom控件之后,地图的缩放级别的改变的级别值
trackResize Boolean true 地图是否自动处理浏览器窗口调整大小以更新自身。
boxZoom Boolean true 按住Shift键的同时拖动鼠标,地图是否可以缩放到指定的矩形区域。
doubleClickZoom Boolean|String true 地图是否可以通过双击放大,并通过双击同时按住shift缩小。如果设置为 'center',双击缩放将缩放到视图的中心,而不管鼠标在哪里。
dragging Boolean true 地图是否可以通过鼠标/触摸拖动。

地图状态 选项

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

动画 选项

Option参数 参数类型 默认值 说明
zoomAnimation Boolean true 是否启用地图缩放动画。默认情况下,它在支持除Android之外的所有支持CSS3的浏览器中启用。
zoomAnimationThreshold Number 4 如果缩放差异超过此值,则不会生成缩放。
fadeAnimation Boolean true 是否启用了淡出动画。默认情况下,它在支持除Android之外的所有支持CSS3的浏览器中启用。
markerZoomAnimation Boolean true marker标记是否使用缩放动画进行缩放。默认情况下,它在支持除Android之外的所有支持CSS3的浏览器中启用。
transform3DLimit Number 2^23 定义CSS翻译转换的最大尺寸.默认值不应该改变,除非web浏览器在做了一个大的panBy之后,在错误的位置放置了一个位置.

平移惯性 选项

Option参数 参数类型 默认值 说明
inertia Boolean * 如果启用,则平移地图将具有惯性效应,其中地图在拖动的同时建立动量并继续沿相同方向移动一段时间。在触摸设备上感觉特别好。默认情况下启用,除非在旧的Android设备上运行。
inertiaDeceleration Number 3000 惯性运动减速的速度,以像素/秒为单位。
inertiaMaxSpeed Number Infinity 惯性运动的最大速度,以像素/秒为单位。
easeLinearity Number 0.2
worldCopyJump Boolean false 启用此选项后,地图将跟踪当您平移到另一个“复制”的世界地图时,一些如标记和矢量图层等所有叠加元素仍然同步可见。
maxBoundsViscosity Number 0.0 如果maxBounds设置,该选项将控制当拖动地图时边界的固定度。默认值0.0允许用户以正常速度拖动界限,较高的值将减慢地图拖动,如设置值1.0将使边界完全固定,防止用户拖动界限。

键盘导航 选项

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

鼠标 选项

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

触摸互动 选项

Option参数 参数类型 默认值 说明
tap Boolean true 是否启用移动设备以支持即时点击(在iOS / Android上修复200ms点击延迟)和触控(触发contextmenu事件)。
tapTolerance Number 15 用户在触摸时,移动手指的像素数超过此值时被认为是有效的tap。
touchZoom Boolean|String * 是否可以通过用两根手指触摸拖动来缩放地图。如果设置为'center',它将缩放到视图的中心,而不管触摸事件(手指)在哪里。 仅在具有触控功能的网络浏览器中有效,旧版Android除外。
bounceAtZoomLimits Boolean true 如果您不希望在地图缩放超过最小/最大缩放范围时反弹,请将其设置为false。

Map 方法

方法名 返回值 说明
getRenderer(<Path> layer) Renderer

返回Renderer 应该用于渲染给定的实例Path。 它将确保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

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

openPopup(<String|HTMLElement> content, <LatLng> latlng, <Popup options> options?) this 创建指定的内容和选项的弹出窗口,并在地图上的给定点打开它。
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

设置地图地理视图,参数:中心点经纬度、zoom缩放级别、缩放平移选型.

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

设置地图的zoom缩放级别.

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) this

通过给定的像素点来平移地图

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

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

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

执行平滑的飞行动画,移动缩放地图范围至指定的矩形范围,类似fitBounds方法

setMaxBounds(<Bounds> bounds) this

限制地图的视图在给定的边界里面(参考 maxBounds 参数选项).

setMinZoom(<Number> zoom) this

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

setMaxZoom(<Number> zoom) this

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

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

将地图放置到位于给定范围内的最接近的视图(如果不在),并使用特定的options选项(如果有的话)控制动画。

invalidateSize(<Zoom/Pan options> options) this

检查地图容器大小是否已更改,并更新地图,如果是这样 - 在动态更改地图大小后调用它,也可以默认动画化。如果options.pan是false,则不会进行平移。 如果options.debounceMoveend是true,它将延迟moveend事件,以便即使该方法被连续调用多次也不会发生。

invalidateSize(<Boolean> animate) this

检查地图容器大小是否已更改,并更新地图。当地图容器div大小有变化后,请调用。

stop() this

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

地理定位方法

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

尝试使用Geolocation API定位用户,触发具有locationfound成功的位置数据的locationerror事件或失败的事件,并且可以根据检测精度(或者如果地理位置失败)将地图视图设置为用户的位置。 请注意,如果您的页面不使用HTTPS,则此方法将在最新流行浏览器(Chrome 50及更高版本)中失败。有关Locate options详细信息,请参阅。

stopLocate() this

停止执行已调用了的map.locate()

获取地图状态 方法

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

返回地图视图的中心点经纬度

getZoom() Number

返回地图此时的缩放级别

getBounds() LatLngBounds

返回当前地图视图的矩形边界

getMinZoom() Number

返回地图最小缩放级别(如果设置了地图或图层的minZoom参数),默认为0

getMaxZoom() Number

返回地图最大缩放级别(如果设置了地图或图层的maxZoom参数)

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

返回给定范围完全适合地图视图的最大缩放级别。如果inside(可选)设置为true,则该方法将返回地图视图适合整个给定边界的最小缩放级别。

getSize() Point

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

getPixelBounds() Bounds

返回当前地图视图的像素坐标的边界(在自定义层和覆盖实现中有用).

getPixelOrigin() Point

返回当前地图视图左上角的像素坐标(在自定义层和覆盖实现中有用).

getPixelWorldBounds(<Number> zoom?) Bounds

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

转换 方法

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

返回要应用于从缩放级别fromZoom到地图转换的比例因子 toZoom。内部使用来帮助缩放动画。

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对象,返回发生事件的地理坐标。

其他 方法

方法名 返回值 说明
addHandler(<String> name, <Function> HandlerClass) this

加一个新的 Handler到地图上,给他一个名字和构造函数。

remove() this

释放清除这个地图和清除所有的相关事件监听器

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

如果尚未存在,创建具有给定名称的新映射窗格map pane,然后返回。container如果未设置,该窗格将作为主地图窗格的子项或子地区创建。

getPane(<String|HTMLElement> pane) HTMLElement

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

getPanes() Object

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

getContainer() HTMLElement 返回一个包含地图的html节点
whenReady(<Function> fn, <Object> context?) this

方便异步执行后续方法函数Fn。 当地图以视图(中心和缩放)初始化和至少一个层初始化时,或者当它已经初始化时, 立即运行给定的函数Fn,没有时会等初始化后执行函数Fn.

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

将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。

on(<Object> eventMap) this

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

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

删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。

off(<Object> eventMap) this

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

off() this

删除绑定到对象上的所有事件。

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

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

listens(<String> type) Boolean

如果特定事件类型具有附加的侦听器,则返回true。

once() this

on(…)类似,区别在于监听器只执行1次,并且执行后自动释放。

addEventParent(<Evented> obj) this

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

removeEventParent(<Evented> obj) this

删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件

addEventListener() this

on(…)的别名,兼容不同用户的命名习惯

removeEventListener() this

off(…)的别名,兼容不同用户的命名习惯

clearAllEventListeners() this

off()的别名,兼容不同用户的命名习惯

addOneTimeEventListener() this

once(…)的别名,兼容不同用户的命名习惯

fireEvent() this

fire(…)的别名,兼容不同用户的命名习惯

hasEventListeners() Boolean

listens(…)的别名,兼容不同用户的命名习惯

Map事件

图层变化

Event Data 说明
baselayerchange LayersControlEvent 当通过图层控件 layer control改变底图图层时触发
overlayadd LayersControlEvent 当通过图层控件 layer control添加显示覆盖层时引发.
overlayremove LayersControlEvent 当通过图层控件 layer control隐藏移除覆盖层时引发.
layeradd LayerEvent 当一个新的图层加到地图上时触发
layerremove LayerEvent 当图层从地图上移出时触发

地图状态发生变化

Event Data 说明
zoomlevelschange Event 当地图上的缩放级别数量,因添加或删除图层而发生变化时触发。
resize ResizeEvent 当地图调整大小时触发。
unload Event remove 方法销毁地图时引发
viewreset Event 当地图需要重绘其内容时发生(这通常发生在地图缩放或加载)。对于创建自定义叠加层非常有用。
load Event 当地图初始化的完成时候触发(当地图的中心点和缩放级别在第一时间设置时)
zoomstart Event 当地图缩放即将更改时会触发(例如缩放动画之前)。
movestart Event 当地图的视图开始变化时触发(例如用户开始拖动地图)。
zoom Event 任何缩放级别的更改都会反复触发,包括缩放和fly动画。
move Event 在任何地图的移动过程中,都会重复播放,包括平移和fly动画。
zoomend Event 当地图级别发生变化后时发生,任何动画之后都会触发。
moveend Event 当地图的中心停止更改后时发生(例如用户停止拖动地图)。

Popup弹窗

Event Data 说明
popupopen PopupEvent 在地图中打开弹出窗口时触发
popupclose PopupEvent 当地图上的弹出窗口关闭时触发
autopanstart Event 当打开弹出窗口时,地图开始自动移动时触发。

Tooltip鼠标提示

Event Data 说明
tooltipopen TooltipEvent 在地图里打开Tooltip提示框提示时触发.
tooltipclose TooltipEvent 在地图里关闭Tooltip提示框提示时触发.

定位位置

Event Data 说明
locationerror ErrorEvent 当定位 (调用locate 方法) 失败时触发
locationfound LocationEvent 当定位(调用locate 方法) 成功时触发.

互动交互

Event Data 说明
click MouseEvent 当用户点击(或taps点击)地图时触发。
dblclick MouseEvent 当用户双击(或 double-taps双击)地图时触发。
mousedown MouseEvent 当用户在地图上按下鼠标按钮时触发
mouseup MouseEvent 当用户在地图上释放鼠标按钮时触发。
mouseover MouseEvent 当鼠标进入地图时触发
mouseout MouseEvent 当鼠标离开地图时触发。
mousemove MouseEvent 鼠标在地图上移动时触发。
contextmenu MouseEvent 当用户在地图上按下鼠标右键时触发,如果此事件上有侦听器,则会阻止默认浏览器上下文菜单显示。当用户持有一次触摸(也称为长按)时,也会在手机上触发。
keypress KeyboardEvent 当地图处于获取焦点时,用户从键盘上按下一个键时触发。
preclick MouseEvent 鼠标点击地图前触发(有时当您希望在任何现有的点击处理程序开始运行之前处理一些事情时有用)。

其他事件

Event Data 说明
zoomanim ZoomAnimEvent 在缩放动画的每一帧上播放时触发

Map其他 - 属性

Handlers处理程序

属性 参数类型 说明
boxZoom Handler 矩形框(利用鼠标右键拖动)缩放处理程序.
doubleClickZoom Handler 双击缩放处理程序.
dragging Handler 地图拖动处理程序(通过鼠标和触摸)。
keyboard Handler 键盘导航处理程序。
scrollWheelZoom Handler 滚轮缩放处理程序。
tap Handler 移动触摸设备(快速点击和触摸保持)处理程序。
touchZoom Handler 触摸地图缩放处理程序.

Map其他 - panes窗格

panes窗格是用于控制地图上图层顺序的DOM元素。 您可以访问窗格map.getPanemap.getPanes方法。 可以使用该map.createPane方法创建新窗格 。 每个地图都有以下默认窗格,仅在zIndex中不同。
Pane 参数类型 Z-index 说明
mapPane HTMLElement 'auto' 根节点,包含其他panes窗格层的父panes窗格层.
tilePane HTMLElement 200 切片图层所在的panes窗格层,如GridLayerTileLayer
overlayPane HTMLElement 400 Path矢量图层所在的panes窗格层,如 PolylinePolygon
shadowPane HTMLElement 500 阴影所在的panes窗格层(例如Marker阴影)
markerPane HTMLElement 600 Marker标注所在的panes窗格层
tooltipPane HTMLElement 650 tooltip鼠标提示框 所在的panes窗格层
popupPane HTMLElement 700 popup弹窗 所在的panes窗格层

Locate定位 options参数选项

Map在一些地理位置方法中使用到的options参数。这是一个简单的JavaScript对象,其中包含以下可选组件:
Option参数 参数类型 默认值 说明
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对象,其中包含以下可选组件:
Option参数 参数类型 默认值 说明
animate Boolean 如果未指定,如果缩放起点位于当前视图内,则会发生缩放动画。如果true,地图将尝试动画缩放,而不考虑缩放起点的位置。设置false将使它始终重置视图完全没有动画。

Pan平移 options参数选项

Map修改地图中心的 一些方法参与一个options 参数。这是一个简单的JavaScript对象,其中包含以下可选组件:
Option参数 参数类型 默认值 说明
animate Boolean 如果可能true,平移将永远是动画的。如果false,它不会动画播放,要么重置地图视图,如果平移超过屏幕,或者只是为地图窗格设置新的偏移量(除了panBy 后者总是这样)。
duration Number 0.25 动画平移的持续时间,以秒为单位。
easeLinearity Number 0.25 平移动画宽松的曲率因子(Cubic Bezier curve曲线的第三个 参数)。1.0表示线性动画,而这个数字越小,曲线越鞠躬。
noMoveStart Boolean false 如果true,平移不会movestart在启动时触发事件(内部用于平移惯性)。

Zoom/pan options参数选项

Option参数 参数类型 默认值 说明
animate Boolean 如果未指定,如果缩放起点位于当前视图内,则会发生缩放动画。如果true,地图将尝试动画缩放,而不考虑缩放起点的位置。设置false将使它始终重置视图完全没有动画。
Option参数 参数类型 默认值 说明
animate Boolean 如果可能true,平移将永远是动画的。如果false,它不会动画播放,要么重置地图视图,如果平移超过屏幕,或者只是为地图窗格设置新的偏移量(除了panBy 后者总是这样)。
duration Number 0.25 动画平移的持续时间,以秒为单位。
easeLinearity Number 0.25 平移动画宽松的曲率因子(Cubic Bezier curve曲线的第三个 参数)。1.0表示线性动画,而这个数字越小,曲线越鞠躬。
noMoveStart Boolean false 如果true,平移不会movestart在启动时触发事件(内部用于平移惯性)。

FitBounds options参数选项

Option参数 参数类型 默认值 说明
paddingTopLeft Point [0, 0] 设置在将视图设置为适合边界时不应考虑的地图容器左上角的填充量。如果您在地图上有一些控件重叠式(如侧边栏),而且您不希望它们遮挡您正在缩放的​​对象,则很有用。
paddingBottomRight Point [0, 0] 同上,不考虑地图容器右下角时使用。
padding Point [0, 0] 相当于将左上和右下填充设置为相同的值。
maxZoom Number null 最大可能的缩放使用。
Option参数 参数类型 默认值 说明
animate Boolean 如果未指定,如果缩放起点位于当前视图内,则会发生缩放动画。如果true,地图将尝试动画缩放,而不考虑缩放起点的位置。设置false将使它始终重置视图完全没有动画。
Option参数 参数类型 默认值 说明
animate Boolean 如果可能true,平移将永远是动画的。如果false,它不会动画播放,要么重置地图视图,如果平移超过屏幕,或者只是为地图窗格设置新的偏移量(除了panBy 后者总是这样)。
duration Number 0.25 动画平移的持续时间,以秒为单位。
easeLinearity Number 0.25 平移动画宽松的曲率因子(Cubic Bezier curve曲线的第三个 参数)。1.0表示线性动画,而这个数字越小,曲线越鞠躬。
noMoveStart Boolean false 如果true,平移不会movestart在启动时触发事件(内部用于平移惯性)。

Marker 点标记

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

使用示例

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

创建对象

创建示例 说明
L.marker(<LatLng> latlng, <Marker options> options?) 给定一个地理坐标点和options参数可构成一个Marker

Options参数选项

Option参数 参数类型 默认值 说明
icon Icon * 用于渲染标记的图标。有关如何自定义标记图标的,请参阅Icon文档。如果未指定默认则使用L.Icon.Default
draggable Boolean false 标记是否可以用鼠标/触摸拖动。
keyboard Boolean true 标记是否可以用键盘按键并按回车键。
title String '' 显示在标记悬停上的浏览器Tooltip提示的文本(默认情况下不提供工具提示)。
alt String '' alt图标图像属性的文本(对辅助功能有用)。
zIndexOffset Number 0 默认情况下,注记图片的叠置顺序由纬度自动设置.如果你想将某一注记放置于其他之上可用这个选项,设置一个较大的值即可,比如1000(或是相反地设置一个较大的负值).
opacity Number 1.0 注记的透明度
riseOnHover Boolean false 如果为true,当您将鼠标悬停在其上时,标记将会放在其他顶部。
riseOffset Number 250 用于riseOnHover功能的z-index偏移量。
pane String 'markerPane' 标记图标将被添加的地图pane窗格
Option参数 参数类型 默认值 说明
interactive Boolean true 如果false,该层不会发出鼠标事件,并且将作为底层地图的一部分。
Option参数 参数类型 默认值 说明
attribution String null 在attribution版权控件中展示的字符串,描述图层的版权信息(例如:"© Mapbox")

事件

Event Data 说明
move Event 当标记通过 setLatLng 或者 dragging时触发。旧的和新的坐标包含在事件参数中oldLatLng,latlng。

拖动事件

Event Data 说明
dragstart Event 当用户开始拖动标记时触发。
movestart Event 标记开始移动时发生(因为拖动)。
drag Event 当用户拖动注记时不断触发.
dragend DragEndEvent 当用户停止拖动注记时触发
moveend Event 当标记停止移动(由于拖动)时发出。
Event Data 说明
click MouseEvent 当用户单击(or taps)地图时触发
dblclick MouseEvent 当用户双击(or double-taps)地图时触发
mousedown MouseEvent 当用户在图层上按下鼠标按钮时触发
mouseover MouseEvent 当鼠标进入图层时触发
mouseout MouseEvent 当鼠标离开图层时触发
contextmenu MouseEvent 当用户右键单击图层时触发,如果此事件上有侦听器,则会阻止默认的浏览器上下文菜单显示。当用户持有一次触摸(也称为长按)时,也会在手机上触发。
Event Data 说明
add Event 在图层添加到地图上之后触发
remove Event 在图层从地图上移除之后触发
Event Data 说明
popupopen PopupEvent 当绑定到当前图层的Popup弹窗打开时触发
popupclose PopupEvent 当绑定到当前图层的Popup弹窗关闭时触发
Event Data 说明
tooltipopen TooltipEvent 当Tooltip提示框绑定在地图上并打开时触发
tooltipclose TooltipEvent 当Tooltip提示框绑定在地图上并打开时触发

方法

除了使用继承layer的addTo()和remove()等方法, 还有popup相关的bindPopup()等方法外也可以使用以下方法:
方法名 返回值 说明
toGeoJSON() Object

转换标记为GeoJSON格式对象数据.

getLatLng() LatLng

返回注记的LatLng经纬度对象

setLatLng(<LatLng> latlng) this

修改注记的位置

setZIndexOffset(<Number> offset) this

改变注记的ZIndex顺序

setIcon(<Icon> icon) this

改变注记的图标

setOpacity(<Number> opacity) this

改变注记的透明度

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

将图层添加到给定的地图

remove() this

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

removeFrom(<Map> map) this

从给定的地图上移除图层

getPane(<String> name?) HTMLElement

返回指定Pane窗格的HTMLElement对象。如果name省略,则返回此图层所在的Pane窗格。

getAttribution() String

用于attribution control,返回attribution参数.

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

将弹出窗口绑定到已传递的层,content并设置必要的事件侦听器。如果参数是一个Function方法被传递,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindPopup() this

移除当前通过bindpopup方法绑定的弹窗

openPopup(<LatLng> latlng?) this

在特定的位置打开弹窗,如果latlng没有设置则在默认的所在位置打开。

closePopup() this

关闭打开的弹窗

togglePopup() this

根据弹窗现在的状态来打开或关闭绑定到图层上的弹窗.

isPopupOpen() boolean

如果当前绑定的弹窗是打开的,则返回true

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

如设定绑定在图层上的弹窗的内容.

getPopup() Popup

返回当前绑定在图层上的弹窗.

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

将工具提示绑定到已传递的层content并设置必需的事件侦听器。如果是传入一个Function方法做参数,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindTooltip() this

移除之前通过bindTooltip方法绑定的提示框

openTooltip(<LatLng> latlng?) this

在特定的位置打开绑定的提示框,如果位置没有设置,则在默认的位置打开。

closeTooltip() this

如果提示框是打开的,则关闭绑定到图层的提示框.

toggleTooltip() this

根据当前的提示框状态来确定是打开还是关闭绑定到图层的提示框.

isTooltipOpen() boolean

如果当前绑定到图层的提示框是打开的,则返回true

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

设置当前绑定到图层的提示框的内容

getTooltip() Tooltip

返回当前绑定到图层的提示框

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

将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。

on(<Object> eventMap) this

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

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

删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。

off(<Object> eventMap) this

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

off() this

删除绑定到对象上的所有事件。

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

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

listens(<String> type) Boolean

如果特定事件类型具有附加的侦听器,则返回true。

once() this

on(…)类似,区别在于监听器只执行1次,并且执行后自动释放。

addEventParent(<Evented> obj) this

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

removeEventParent(<Evented> obj) this

删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件

addEventListener() this

on(…)的别名,兼容不同用户的命名习惯

removeEventListener() this

off(…)的别名,兼容不同用户的命名习惯

clearAllEventListeners() this

off()的别名,兼容不同用户的命名习惯

addOneTimeEventListener() this

once(…)的别名,兼容不同用户的命名习惯

fireEvent() this

fire(…)的别名,兼容不同用户的命名习惯

hasEventListeners() Boolean

listens(…)的别名,兼容不同用户的命名习惯

属性

handlers互动处理程序

交互处理程序是标记实例的属性,允许您在运行时控制交互行为,启用或禁用某些功能(如拖动)(请参阅Handler方法)。例:
marker.dragging.disable();
属性 参数类型 说明
dragging Handler 注记拖动程序(通过鼠标和触摸来视线)

用于在地图的某些地方打开弹出窗口。 使用Map.openPopup打开弹出窗口,同时确保一次只打开一个弹出窗口(推荐用于可用性), 或使用map.addLayer 打开所需的多个弹出窗口。

如果您只想将弹出窗口绑定到标记上,然后打开它,这很简单:

marker.bindPopup(popupContent).openPopup();

矢量Path对象,如折线也有一个bindPopup方法。以下是在地图上打开弹出窗口的更复杂的方法:

var popup = L.popup()
    .setLatLng(latlng)
    .setContent('<p>Hello world!<br />This is a nice popup.</p>')
    .openOn(map);
创建示例 说明
Option参数 参数类型 默认值 说明
Option参数 参数类型 默认值 说明
Option参数 参数类型 默认值 说明

事件

Event Data 说明
Event Data 说明
Event Data 说明
方法名 返回值 说明
方法名 返回值 说明
addTo(<Map> map) this

将图层添加到给定的地图

remove() this

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

removeFrom(<Map> map) this

从给定的地图上移除图层

getPane(<String> name?) HTMLElement

返回指定Pane窗格的HTMLElement对象。如果name省略,则返回此图层所在的Pane窗格。

getAttribution() String

用于attribution control,返回attribution参数.

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

将弹出窗口绑定到已传递的层,content并设置必要的事件侦听器。如果参数是一个Function方法被传递,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindPopup() this

移除当前通过bindpopup方法绑定的弹窗

openPopup(<LatLng> latlng?) this

在特定的位置打开弹窗,如果latlng没有设置则在默认的所在位置打开。

closePopup() this

关闭打开的弹窗

togglePopup() this

根据弹窗现在的状态来打开或关闭绑定到图层上的弹窗.

isPopupOpen() boolean

如果当前绑定的弹窗是打开的,则返回true

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

如设定绑定在图层上的弹窗的内容.

getPopup() Popup

返回当前绑定在图层上的弹窗.

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

将工具提示绑定到已传递的层content并设置必需的事件侦听器。如果是传入一个Function方法做参数,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindTooltip() this

移除之前通过bindTooltip方法绑定的提示框

openTooltip(<LatLng> latlng?) this

在特定的位置打开绑定的提示框,如果位置没有设置,则在默认的位置打开。

closeTooltip() this

如果提示框是打开的,则关闭绑定到图层的提示框.

toggleTooltip() this

根据当前的提示框状态来确定是打开还是关闭绑定到图层的提示框.

isTooltipOpen() boolean

如果当前绑定到图层的提示框是打开的,则返回true

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

设置当前绑定到图层的提示框的内容

getTooltip() Tooltip

返回当前绑定到图层的提示框

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

将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。

on(<Object> eventMap) this

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

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

删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。

off(<Object> eventMap) this

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

off() this

删除绑定到对象上的所有事件。

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

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

listens(<String> type) Boolean

如果特定事件类型具有附加的侦听器,则返回true。

once() this

on(…)类似,区别在于监听器只执行1次,并且执行后自动释放。

addEventParent(<Evented> obj) this

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

removeEventParent(<Evented> obj) this

删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件

addEventListener() this

on(…)的别名,兼容不同用户的命名习惯

removeEventListener() this

off(…)的别名,兼容不同用户的命名习惯

clearAllEventListeners() this

off()的别名,兼容不同用户的命名习惯

addOneTimeEventListener() this

once(…)的别名,兼容不同用户的命名习惯

fireEvent() this

fire(…)的别名,兼容不同用户的命名习惯

hasEventListeners() Boolean

listens(…)的别名,兼容不同用户的命名习惯

Tooltip 鼠标悬停提示框

用于在地图图层之上鼠标悬停时显示提示框。

使用示例

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

有关工具提示偏移的注意事项。考虑了计算工具提示偏移的两个选项:

  • 该offset工具提示选项:它默认为[0,0],这是特定于一个工具提示。添加正x偏移以将工具提示向右移动,并将正y偏移移动到底部。否定将移动到左边和顶部。
  • 该tooltipAnchor图标选项:这只会被视为marker标记。如果您使用自定义图标,则应调整此值。

创建对象

创建示例 说明
L.tooltip(<Tooltip options> options?, <Layer> source?) 实例化一个Tooltip对象,给出一个options描述其外观和位置,可选source对象用于通过引用其引用的层来引用工具提示。

Options参数选项

Option参数 参数类型 默认值 说明
pane String 'tooltipPane' 提示框将会增加至的地图Pane窗格名称
offset Point Point(0, 0) 提示框位置的可选偏移。
direction String 'auto' 方向打开工具提示。可能的值有:right,left, top,bottom,center,auto。 auto将间dynamicaly切换right并left根据地图上的工具提示位置。
permanent Boolean false 是否永久打开tooltip提示,仅在鼠标悬停时显示。
sticky Boolean false 如果为true,则tooltip将跟随鼠标,而不是固定在功能中心。
interactive Boolean false 如果为true,则工具提示将侦听功能事件。
opacity Number 0.9 设置tooltip容器的不透明度。
Option参数 参数类型 默认值 说明
className String '' 要分配给tiiltip容器的自定义CSS类名称。
Option参数 参数类型 默认值 说明
attribution String null 在attribution版权控件中展示的字符串,描述图层的版权信息(例如:"© Mapbox")

事件

Event Data 说明
add Event 在图层添加到地图上之后触发
remove Event 在图层从地图上移除之后触发
Event Data 说明
popupopen PopupEvent 当绑定到当前图层的Popup弹窗打开时触发
popupclose PopupEvent 当绑定到当前图层的Popup弹窗关闭时触发
Event Data 说明
tooltipopen TooltipEvent 当Tooltip提示框绑定到这个图层并打开时触发
tooltipclose TooltipEvent 当Tooltip提示框绑定到这个图层并关闭时触发.

方法

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

将图层添加到给定的地图

remove() this

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

removeFrom(<Map> map) this

从给定的地图上移除图层

getPane(<String> name?) HTMLElement

返回指定Pane窗格的HTMLElement对象。如果name省略,则返回此图层所在的Pane窗格。

getAttribution() String

用于attribution control,返回attribution参数.

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

将弹出窗口绑定到已传递的层,content并设置必要的事件侦听器。如果参数是一个Function方法被传递,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindPopup() this

移除当前通过bindpopup方法绑定的弹窗

openPopup(<LatLng> latlng?) this

在特定的位置打开弹窗,如果latlng没有设置则在默认的所在位置打开。

closePopup() this

关闭打开的弹窗

togglePopup() this

根据弹窗现在的状态来打开或关闭绑定到图层上的弹窗.

isPopupOpen() boolean

如果当前绑定的弹窗是打开的,则返回true

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

如设定绑定在图层上的弹窗的内容.

getPopup() Popup

返回当前绑定在图层上的弹窗.

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

将工具提示绑定到已传递的层content并设置必需的事件侦听器。如果是传入一个Function方法做参数,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindTooltip() this

移除之前通过bindTooltip方法绑定的提示框

openTooltip(<LatLng> latlng?) this

在特定的位置打开绑定的提示框,如果位置没有设置,则在默认的位置打开。

closeTooltip() this

如果提示框是打开的,则关闭绑定到图层的提示框.

toggleTooltip() this

根据当前的提示框状态来确定是打开还是关闭绑定到图层的提示框.

isTooltipOpen() boolean

如果当前绑定到图层的提示框是打开的,则返回true

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

设置当前绑定到图层的提示框的内容

getTooltip() Tooltip

返回当前绑定到图层的提示框

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

将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。

on(<Object> eventMap) this

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

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

删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。

off(<Object> eventMap) this

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

off() this

删除绑定到对象上的所有事件。

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

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

listens(<String> type) Boolean

如果特定事件类型具有附加的侦听器,则返回true。

once() this

on(…)类似,区别在于监听器只执行1次,并且执行后自动释放。

addEventParent(<Evented> obj) this

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

removeEventParent(<Evented> obj) this

删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件

addEventListener() this

on(…)的别名,兼容不同用户的命名习惯

removeEventListener() this

off(…)的别名,兼容不同用户的命名习惯

clearAllEventListeners() this

off()的别名,兼容不同用户的命名习惯

addOneTimeEventListener() this

once(…)的别名,兼容不同用户的命名习惯

fireEvent() this

fire(…)的别名,兼容不同用户的命名习惯

hasEventListeners() Boolean

listens(…)的别名,兼容不同用户的命名习惯

TileLayer

用于在地图上加载和展示瓦片图层,继承自 GridLayer.

使用示例

L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png?{foo}', {foo: 'bar'}).addTo(map);

URL模板

以下形式的字符串:

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

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

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

创建对象

Extension methods

创建示例 说明
L.tilelayer(<String> urlTemplate, <TileLayer options> options?) 给出一个URL template和可选的一个选项对象来实例化一个tile瓦片图层对象。

Options参数选项

Option参数 参数类型 默认值 说明
minZoom Number 0 最小的缩放级别
maxZoom Number 18 最大的缩放级别
maxNativeZoom Number null 瓦片来源可用的最大缩放倍数。如果指定,则所有缩放级别上的图块maxNativeZoom将高于将从maxNativeZoom级别加载并自动缩放。
minNativeZoom Number null 瓦片来源可用的最小缩放数。如果指定,所有缩放级别上的图块minNativeZoom将从minNativeZoom级别加载并自动缩放。
subdomains String|String[] 'abc' 瓦片服务的子域名。可以以一个字符串的形式(每个字母都是子域名)或一个字符串数组的形式传递。
errorTileUrl String '' 显示加载瓦片失败时,显示的图片的url
zoomOffset Number 0 用此值来补偿URL中地图的缩放级别.
tms Boolean false 如果此值为true,反转切片Y轴的编号(对于TMS服务需将此项打开).
zoomReverse Boolean false 如果设置为true,则URL网址中使用的缩放z数字将被颠倒(maxZoom - zoom而不是zoom).
detectRetina Boolean false 如果此项为true,并且用户是视网膜显示模式,会请求规定大小一般的四个切片和一个地区内一个更大的缩放级别来利用高分辨率.
crossOrigin Boolean false 如果为true,则所有图块将其crossOrigin属性设置为“'。如果要访问像素数据,则需要这样做。
Option参数 参数类型 默认值 说明
tileSize Number|Point 256 网格中瓦片的宽度和高度。如果宽度和高度相等,则使用数字,否则L.point(width, height)。
opacity Number 1.0 瓦片的不透明度。可以在createTile()功能中使用
updateWhenIdle Boolean depends 如果false在平移期间加载新的瓦片,否则只能在其后(为了更好的性能)。默认情况下true,在移动浏览器上false。
updateWhenZooming Boolean true 默认情况下,平滑缩放动画(touch zoomflyTo()) 会在整个缩放级别更新网格图层。设置此选项false将仅在平滑动画结束时更新网格层。
updateInterval Number 200 当平移时,updateInterval毫秒不会更新一次瓦片。
zIndex Number 1 瓦片层的显式zIndex。
bounds LatLngBounds undefined 如果设置, 将仅加载 LatLngBounds中的集合数据。
minZoom Number 0 最小缩放级别。默认为0,整个地图。
maxZoom Number undefined 最大缩放级别。
noWrap Boolean false 该层是否在子午线断面。 如果为true,GridLayer只能在低缩放级别显示一次。当地图CRS 不包围时,没有任何效果。 可以结合使用bounds 以防止在CRS限制之外请求瓦片。
pane String 'tilePane' 网格层将添加地图pane窗格的位置。
className String '' 要分配给瓦片图层的自定义类名称。默认为空。
keepBuffer Number 2 当平移地图时,在卸载它们之前,先保留许多行和列的数据块。
Option参数 参数类型 默认值 说明
attribution String null 在attribution版权控件中展示的字符串,描述图层的版权信息(例如:"© Mapbox")

事件

Event Data 说明
loading Event 当栅格图层开始加载瓦片时触发
tileunload TileEvent 当瓦片移除时触发
tileloadstart TileEvent 当瓦片请求或开始加载时触发
tileerror TileErrorEvent 当加载瓦片出错时触发
tileload TileEvent 当加载瓦片时触发
load Event 当栅格图层加载可视瓦片时触发
Event Data 说明
add Event 在图层添加到地图上之后触发
remove Event 在图层从地图上移除之后触发
Event Data 说明
popupopen PopupEvent 当绑定到当前图层的Popup弹窗打开时触发
popupclose PopupEvent 当绑定到当前图层的Popup弹窗关闭时触发
Event Data 说明
tooltipopen TooltipEvent 当Tooltip提示框绑定到这个图层并打开时触发
tooltipclose TooltipEvent 当Tooltip提示框绑定到这个图层并关闭时触发.

方法

方法名 返回值 说明
setUrl(<String> url, <Boolean> noRedraw?) this 更新图层的URL模板和重绘它(除非noredraw设置为true).
createTile(<Object> coords, <Function> done?) HTMLElement

仅在内部调用,覆盖GridLayercreateTile() 以返回一个<img>给定适当的图像URL 的HTML元素coords。在瓦片已经加载回调被调用done 。

扩展方法

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

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

方法名 返回值 说明
bringToFront() this

将图层置于所有图层之上

bringToBack() this

将图层置于所有图层之下

getContainer() HTMLElement

返回一个包含这个图层瓦片的html节点

setOpacity(<Number> opacity) this

改变这个栅格图层的透明度

setZIndex(<Number> zIndex) this

改变栅格图层的叠放顺序

isLoading() Boolean

如果栅格图层中的所有瓦片都没结束加载,则返回true

redraw() this

使图层清除所有图块,并再次请求后重新绘制。

getTileSize() Point

tileSize option归一化为一个点。用于该createTile()方法。

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

将图层添加到给定的地图

remove() this

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

removeFrom(<Map> map) this

从给定的地图上移除图层

getPane(<String> name?) HTMLElement

返回指定Pane窗格的HTMLElement对象。如果name省略,则返回此图层所在的Pane窗格。

getAttribution() String

用于attribution control,返回attribution参数.

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

将弹出窗口绑定到已传递的层,content并设置必要的事件侦听器。如果参数是一个Function方法被传递,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindPopup() this

移除当前通过bindpopup方法绑定的弹窗

openPopup(<LatLng> latlng?) this

在特定的位置打开弹窗,如果latlng没有设置则在默认的所在位置打开。

closePopup() this

关闭打开的弹窗

togglePopup() this

根据弹窗现在的状态来打开或关闭绑定到图层上的弹窗.

isPopupOpen() boolean

如果当前绑定的弹窗是打开的,则返回true

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

如设定绑定在图层上的弹窗的内容.

getPopup() Popup

返回当前绑定在图层上的弹窗.

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

将工具提示绑定到已传递的层content并设置必需的事件侦听器。如果是传入一个Function方法做参数,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindTooltip() this

移除之前通过bindTooltip方法绑定的提示框

openTooltip(<LatLng> latlng?) this

在特定的位置打开绑定的提示框,如果位置没有设置,则在默认的位置打开。

closeTooltip() this

如果提示框是打开的,则关闭绑定到图层的提示框.

toggleTooltip() this

根据当前的提示框状态来确定是打开还是关闭绑定到图层的提示框.

isTooltipOpen() boolean

如果当前绑定到图层的提示框是打开的,则返回true

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

设置当前绑定到图层的提示框的内容

getTooltip() Tooltip

返回当前绑定到图层的提示框

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

将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。

on(<Object> eventMap) this

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

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

删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。

off(<Object> eventMap) this

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

off() this

删除绑定到对象上的所有事件。

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

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

listens(<String> type) Boolean

如果特定事件类型具有附加的侦听器,则返回true。

once() this

on(…)类似,区别在于监听器只执行1次,并且执行后自动释放。

addEventParent(<Evented> obj) this

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

removeEventParent(<Evented> obj) this

删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件

addEventListener() this

on(…)的别名,兼容不同用户的命名习惯

removeEventListener() this

off(…)的别名,兼容不同用户的命名习惯

clearAllEventListeners() this

off()的别名,兼容不同用户的命名习惯

addOneTimeEventListener() this

once(…)的别名,兼容不同用户的命名习惯

fireEvent() this

fire(…)的别名,兼容不同用户的命名习惯

hasEventListeners() Boolean

listens(…)的别名,兼容不同用户的命名习惯

TileLayer.WMS

用于加载显示OGC标准的 WMS地图服务。 继承自TileLayer.

使用示例

var nexrad = L.tileLayer.wms("http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r.cgi", {
    layers: 'nexrad-n0r-900913',
    format: 'image/png',
    transparent: true,
    attribution: "Weather data © 2012 IEM Nexrad"
});

创建对象

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

Options参数选项

如果使用这里未记录的任何自定义选项,它们将作为每个请求URL中的额外参数发送到WMS服务器。这对于 非标准的WMS参数.非常有用 。
Option参数 参数类型 默认值 说明
layers String '' (必填)要显示的WMS图层,逗号分隔列表
styles String '' 逗号分隔的WMS样式列表。
format String 'image/jpeg' wms的图像格式 (可以使用 'image/png' 用于具有透明度的图层).
transparent Boolean false 如果true,WMS服务将返回具有透明度的图像。
version String '1.1.1' 使用WMS服务版本
crs CRS null 坐标参考系统用于WMS请求,默认为映射CRS。如果您不确定这是什么意思,请不要更改。
uppercase Boolean false 如果true,WMS请求参数名称将是大写。
Option参数 参数类型 默认值 说明
minZoom Number 0 最小的缩放级别
maxZoom Number 18 最大的缩放级别
maxNativeZoom Number null 瓦片来源可用的最大缩放倍数。如果指定,则所有缩放级别上的图块maxNativeZoom将高于将从maxNativeZoom级别加载并自动缩放。
minNativeZoom Number null 瓦片来源可用的最小缩放数。如果指定,所有缩放级别上的图块minNativeZoom将从minNativeZoom级别加载并自动缩放。
subdomains String|String[] 'abc' 瓦片服务的子域名。可以以一个字符串的形式(每个字母都是子域名)或一个字符串数组的形式传递。
errorTileUrl String '' 显示加载瓦片失败时,显示的图片的url
zoomOffset Number 0 用此值来补偿URL中地图的缩放级别.
tms Boolean false 如果此值为true,反转切片Y轴的编号(对于TMS服务需将此项打开).
zoomReverse Boolean false 如果设置为true,则URL网址中使用的缩放z数字将被颠倒(maxZoom - zoom而不是zoom).
detectRetina Boolean false 如果此项为true,并且用户是视网膜显示模式,会请求规定大小一般的四个切片和一个地区内一个更大的缩放级别来利用高分辨率.
crossOrigin Boolean false 如果为true,则所有图块将其crossOrigin属性设置为“'。如果要访问像素数据,则需要这样做。
Option参数 参数类型 默认值 说明
tileSize Number|Point 256 网格中瓦片的宽度和高度。如果宽度和高度相等,则使用数字,否则L.point(width, height)。
opacity Number 1.0 瓦片的不透明度。可以在createTile()功能中使用
updateWhenIdle Boolean depends 如果false在平移期间加载新的瓦片,否则只能在其后(为了更好的性能)。默认情况下true,在移动浏览器上false。
updateWhenZooming Boolean true 默认情况下,平滑缩放动画(touch zoomflyTo()) 会在整个缩放级别更新网格图层。设置此选项false将仅在平滑动画结束时更新网格层。
updateInterval Number 200 当平移时,updateInterval毫秒不会更新一次瓦片。
zIndex Number 1 瓦片层的显式zIndex。
bounds LatLngBounds undefined 如果设置, 将仅加载 LatLngBounds中的集合数据。
minZoom Number 0 最小缩放级别。默认为0,整个地图。
maxZoom Number undefined 最大缩放级别。
noWrap Boolean false 该层是否在子午线断面。 如果为true,GridLayer只能在低缩放级别显示一次。当地图CRS 不包围时,没有任何效果。 可以结合使用bounds 以防止在CRS限制之外请求瓦片。
pane String 'tilePane' 网格层将添加地图pane窗格的位置。
className String '' 要分配给瓦片图层的自定义类名称。默认为空。
keepBuffer Number 2 当平移地图时,在卸载它们之前,先保留许多行和列的数据块。
Option参数 参数类型 默认值 说明
attribution String null 在attribution版权控件中展示的字符串,描述图层的版权信息(例如:"© Mapbox")

事件

Event Data 说明
loading Event 当栅格图层开始加载瓦片时触发
tileunload TileEvent 当瓦片移除时触发
tileloadstart TileEvent 当瓦片请求或开始加载时触发
tileerror TileErrorEvent 当加载瓦片出错时触发
tileload TileEvent 当加载瓦片时触发
load Event 当栅格图层加载可视瓦片时触发
Event Data 说明
add Event 在图层添加到地图上之后触发
remove Event 在图层从地图上移除之后触发
Event Data 说明
popupopen PopupEvent 当绑定到当前图层的Popup弹窗打开时触发
popupclose PopupEvent 当绑定到当前图层的Popup弹窗关闭时触发
Event Data 说明
tooltipopen TooltipEvent 当Tooltip提示框绑定到这个图层并打开时触发
tooltipclose TooltipEvent 当Tooltip提示框绑定到这个图层并关闭时触发.

方法

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

使用新参数更新合并参数,并在当前屏幕范围重新请求图块(除非noRedraw设置为true)。

方法名 返回值 说明
setUrl(<String> url, <Boolean> noRedraw?) this 更新图层的URL模板和重绘它(除非noredraw设置为true).
createTile(<Object> coords, <Function> done?) HTMLElement

仅在内部调用,覆盖GridLayercreateTile() 以返回一个<img>给定适当的图像URL 的HTML元素coords。在瓦片已经加载回调被调用done 。

方法名 返回值 说明
bringToFront() this

将图层置于所有图层之上

bringToBack() this

将图层置于所有图层之下

getContainer() HTMLElement

返回一个包含这个图层瓦片的html节点

setOpacity(<Number> opacity) this

改变这个栅格图层的透明度

setZIndex(<Number> zIndex) this

改变栅格图层的叠放顺序

isLoading() Boolean

如果栅格图层中的所有瓦片都没结束加载,则返回true

redraw() this

使图层清除所有图块,并再次请求后重新绘制。

getTileSize() Point

tileSize option归一化为一个点。用于该createTile()方法。

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

将图层添加到给定的地图

remove() this

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

removeFrom(<Map> map) this

从给定的地图上移除图层

getPane(<String> name?) HTMLElement

返回指定Pane窗格的HTMLElement对象。如果name省略,则返回此图层所在的Pane窗格。

getAttribution() String

用于attribution control,返回attribution参数.

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

将弹出窗口绑定到已传递的层,content并设置必要的事件侦听器。如果参数是一个Function方法被传递,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindPopup() this

移除当前通过bindpopup方法绑定的弹窗

openPopup(<LatLng> latlng?) this

在特定的位置打开弹窗,如果latlng没有设置则在默认的所在位置打开。

closePopup() this

关闭打开的弹窗

togglePopup() this

根据弹窗现在的状态来打开或关闭绑定到图层上的弹窗.

isPopupOpen() boolean

如果当前绑定的弹窗是打开的,则返回true

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

如设定绑定在图层上的弹窗的内容.

getPopup() Popup

返回当前绑定在图层上的弹窗.

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

将工具提示绑定到已传递的层content并设置必需的事件侦听器。如果是传入一个Function方法做参数,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindTooltip() this

移除之前通过bindTooltip方法绑定的提示框

openTooltip(<LatLng> latlng?) this

在特定的位置打开绑定的提示框,如果位置没有设置,则在默认的位置打开。

closeTooltip() this

如果提示框是打开的,则关闭绑定到图层的提示框.

toggleTooltip() this

根据当前的提示框状态来确定是打开还是关闭绑定到图层的提示框.

isTooltipOpen() boolean

如果当前绑定到图层的提示框是打开的,则返回true

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

设置当前绑定到图层的提示框的内容

getTooltip() Tooltip

返回当前绑定到图层的提示框

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

将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。

on(<Object> eventMap) this

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

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

删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。

off(<Object> eventMap) this

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

off() this

删除绑定到对象上的所有事件。

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

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

listens(<String> type) Boolean

如果特定事件类型具有附加的侦听器,则返回true。

once() this

on(…)类似,区别在于监听器只执行1次,并且执行后自动释放。

addEventParent(<Evented> obj) this

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

removeEventParent(<Evented> obj) this

删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件

addEventListener() this

on(…)的别名,兼容不同用户的命名习惯

removeEventListener() this

off(…)的别名,兼容不同用户的命名习惯

clearAllEventListeners() this

off()的别名,兼容不同用户的命名习惯

addOneTimeEventListener() this

once(…)的别名,兼容不同用户的命名习惯

fireEvent() this

fire(…)的别名,兼容不同用户的命名习惯

hasEventListeners() Boolean

listens(…)的别名,兼容不同用户的命名习惯

ImageOverlay

用于在地图的特定矩形边界上,加载和显示单张图像。继承扩展自 Layer.

使用示例

var imageUrl = 'http://www.lib.utexas.edu/maps/historical/newark_nj_1922.jpg',
    imageBounds = [[30.712216, 104.22655], [30.773941, 104.12544]];
L.imageOverlay(imageUrl, imageBounds).addTo(map);

创建对象

创建示例 说明
L.imageOverlay(<String> imageUrl, <LatLngBounds> bounds, <ImageOverlay options> options?) 给定图像的URL及其绑定的地理范围,实例化图像叠加对象。

Options参数选项

Option参数 参数类型 默认值 说明
opacity Number 1.0 覆盖图片的透明度
alt String '' alt图像属性的文本(对辅助功能有用)。
interactive Boolean false 如果true,当点击或悬停时,图像叠加层将发出鼠标事件mouse events
crossOrigin Boolean false 如果为true,则图像将其crossOrigin属性设置为‘'。如果要访问图像像素数据,则需要这样做。
Option参数 参数类型 默认值 说明
pane String 'overlayPane' 默认情况下,图层将添加到地图的 overlay pane中。覆盖此选项将导致默认情况下将该图层放置在另一个窗格上。
attribution String null 在attribution版权控件中展示的字符串,描述图层的版权信息(例如:"© Mapbox")

事件

Event Data 说明
click MouseEvent 当用户单击(or taps)地图时触发
dblclick MouseEvent 当用户双击(or double-taps)地图时触发
mousedown MouseEvent 当用户在图层上按下鼠标按钮时触发
mouseover MouseEvent 当鼠标进入图层时触发
mouseout MouseEvent 当鼠标离开图层时触发
contextmenu MouseEvent 当用户右键单击图层时触发,如果此事件上有侦听器,则会阻止默认的浏览器上下文菜单显示。当用户持有一次触摸(也称为长按)时,也会在手机上触发。
Event Data 说明
add Event 在图层添加到地图上之后触发
remove Event 在图层从地图上移除之后触发
Event Data 说明
popupopen PopupEvent 当绑定到当前图层的Popup弹窗打开时触发
popupclose PopupEvent 当绑定到当前图层的Popup弹窗关闭时触发
Event Data 说明
tooltipopen TooltipEvent 当Tooltip提示框绑定到这个图层并打开时触发
tooltipclose TooltipEvent 当Tooltip提示框绑定到这个图层并关闭时触发.

方法

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

设置覆盖的透明度

bringToFront() this 将图层覆盖到所有覆盖层的顶部.
bringToBack() this

将图层覆盖到所有覆盖的底部.

setUrl(<String> url) this

设置图片的url

setBounds(<LatLngBounds> bounds) this

更新图片覆盖的边界

getBounds() LatLngBounds

获得图片的边界

getElement() HTMLElement

获得地图上的图片节点

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

将图层添加到给定的地图

remove() this

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

removeFrom(<Map> map) this

从给定的地图上移除图层

getPane(<String> name?) HTMLElement

返回指定Pane窗格的HTMLElement对象。如果name省略,则返回此图层所在的Pane窗格。

getAttribution() String

用于attribution control,返回attribution参数.

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

将弹出窗口绑定到已传递的层,content并设置必要的事件侦听器。如果参数是一个Function方法被传递,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindPopup() this

移除当前通过bindpopup方法绑定的弹窗

openPopup(<LatLng> latlng?) this

在特定的位置打开弹窗,如果latlng没有设置则在默认的所在位置打开。

closePopup() this

关闭打开的弹窗

togglePopup() this

根据弹窗现在的状态来打开或关闭绑定到图层上的弹窗.

isPopupOpen() boolean

如果当前绑定的弹窗是打开的,则返回true

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

如设定绑定在图层上的弹窗的内容.

getPopup() Popup

返回当前绑定在图层上的弹窗.

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

将工具提示绑定到已传递的层content并设置必需的事件侦听器。如果是传入一个Function方法做参数,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindTooltip() this

移除之前通过bindTooltip方法绑定的提示框

openTooltip(<LatLng> latlng?) this

在特定的位置打开绑定的提示框,如果位置没有设置,则在默认的位置打开。

closeTooltip() this

如果提示框是打开的,则关闭绑定到图层的提示框.

toggleTooltip() this

根据当前的提示框状态来确定是打开还是关闭绑定到图层的提示框.

isTooltipOpen() boolean

如果当前绑定到图层的提示框是打开的,则返回true

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

设置当前绑定到图层的提示框的内容

getTooltip() Tooltip

返回当前绑定到图层的提示框

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

将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。

on(<Object> eventMap) this

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

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

删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。

off(<Object> eventMap) this

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

off() this

删除绑定到对象上的所有事件。

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

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

listens(<String> type) Boolean

如果特定事件类型具有附加的侦听器,则返回true。

once() this

on(…)类似,区别在于监听器只执行1次,并且执行后自动释放。

addEventParent(<Evented> obj) this

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

removeEventParent(<Evented> obj) this

删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件

addEventListener() this

on(…)的别名,兼容不同用户的命名习惯

removeEventListener() this

off(…)的别名,兼容不同用户的命名习惯

clearAllEventListeners() this

off()的别名,兼容不同用户的命名习惯

addOneTimeEventListener() this

once(…)的别名,兼容不同用户的命名习惯

fireEvent() this

fire(…)的别名,兼容不同用户的命名习惯

hasEventListeners() Boolean

listens(…)的别名,兼容不同用户的命名习惯

Path

一个抽象类,其中包含矢量要素(Polygon,Polyline,Circle)之间共享的选项和常量。不要直接使用它,请继承后重写使用。扩展集成自 Layer.

Options参数选项

Option参数 参数类型 默认值 说明
stroke Boolean true 是否显示边框.设置为false时,多边形和圆的边界将不可见
color String '#3388ff' 笔画颜色
weight Number 3 笔画宽度(以像素为单位)
opacity Number 1.0 不透明度
lineCap String 'round' 一个字符串,如 butt 、 round 、 square ,定义要在线两段使用的形状
lineJoin String 'round' 一个字符串, miter 、 round 、bevel ,定义要在线转折处使用的形状
dashArray String null 可以定义虚线线型, 如'5, 10', '15, 10, 5, 10'等。 一个字符串,用于定义笔划模式。 在一些旧的浏览器中,Canvas功能不起作用下不可用。
dashOffset String null 一个字符串, 属性指定了dash模式到路径开始的距离,如果使用了一个 百分比值, 那么这个值就代表了当前viewport的一个百分比。值可以取为负值。 在一些旧的浏览器中,Canvas功能不起作用下不可用。
fill Boolean depends 是否用填充颜色。将其设置false为禁用多边形或圆形的内部填充。
fillColor String * 填充颜色。默认为该color选项的值
fillOpacity Number 0.2 填充透明度,取值范围0.0-1.0
fillRule String 'evenodd' 一个字符串,用于定义填充形状
renderer Renderer 此路径使用的Renderer 特定实例。优先于地图的默认渲染器
className String null 在元素上设置自定义类名。仅适用于SVG渲染器。
Option参数 参数类型 默认值 说明
interactive Boolean true 如果false,该层不会发出鼠标事件,并且将作为底层地图的一部分。
Option参数 参数类型 默认值 说明
pane String 'overlayPane' 默认情况下,图层将添加到地图的 overlay pane. 中。覆盖此选项将导致默认情况下将该图层放置在另一个窗格上。
attribution String null 在attribution版权控件中展示的字符串,描述图层的版权信息(例如:"© Mapbox")

事件

Event Data 说明
click MouseEvent 当用户单击(or taps)地图时触发
dblclick MouseEvent 当用户双击(or double-taps)地图时触发
mousedown MouseEvent 当用户在图层上按下鼠标按钮时触发
mouseover MouseEvent 当鼠标进入图层时触发
mouseout MouseEvent 当鼠标离开图层时触发
contextmenu MouseEvent 当用户右键单击图层时触发,如果此事件上有侦听器,则会阻止默认的浏览器上下文菜单显示。当用户持有一次触摸(也称为长按)时,也会在手机上触发。
Event Data 说明
add Event 在图层添加到地图上之后触发
remove Event 在图层从地图上移除之后触发
Event Data 说明
popupopen PopupEvent 当绑定到当前图层的Popup弹窗打开时触发
popupclose PopupEvent 当绑定到当前图层的Popup弹窗关闭时触发
Event Data 说明
tooltipopen TooltipEvent 当Tooltip提示框绑定到这个图层并打开时触发
tooltipclose TooltipEvent 当Tooltip提示框绑定到这个图层并关闭时触发.

方法

方法名 返回值 说明
redraw() this

重新绘制。在更改路径所使用的坐标之后会很有用。

setStyle(<Path options> style) this

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

bringToFront() this

将层移动到所有路径层的顶部。

bringToBack() this

将层移动到所有路径层的底部。

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

将图层添加到给定的地图

remove() this

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

removeFrom(<Map> map) this

从给定的地图上移除图层

getPane(<String> name?) HTMLElement

返回指定Pane窗格的HTMLElement对象。如果name省略,则返回此图层所在的Pane窗格。

getAttribution() String

用于attribution control,返回attribution参数.

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

将弹出窗口绑定到已传递的层,content并设置必要的事件侦听器。如果参数是一个Function方法被传递,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindPopup() this

移除当前通过bindpopup方法绑定的弹窗

openPopup(<LatLng> latlng?) this

在特定的位置打开弹窗,如果latlng没有设置则在默认的所在位置打开。

closePopup() this

关闭打开的弹窗

togglePopup() this

根据弹窗现在的状态来打开或关闭绑定到图层上的弹窗.

isPopupOpen() boolean

如果当前绑定的弹窗是打开的,则返回true

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

如设定绑定在图层上的弹窗的内容.

getPopup() Popup

返回当前绑定在图层上的弹窗.

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

将工具提示绑定到已传递的层content并设置必需的事件侦听器。如果是传入一个Function方法做参数,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindTooltip() this

移除之前通过bindTooltip方法绑定的提示框

openTooltip(<LatLng> latlng?) this

在特定的位置打开绑定的提示框,如果位置没有设置,则在默认的位置打开。

closeTooltip() this

如果提示框是打开的,则关闭绑定到图层的提示框.

toggleTooltip() this

根据当前的提示框状态来确定是打开还是关闭绑定到图层的提示框.

isTooltipOpen() boolean

如果当前绑定到图层的提示框是打开的,则返回true

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

设置当前绑定到图层的提示框的内容

getTooltip() Tooltip

返回当前绑定到图层的提示框

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

将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。

on(<Object> eventMap) this

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

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

删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。

off(<Object> eventMap) this

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

off() this

删除绑定到对象上的所有事件。

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

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

listens(<String> type) Boolean

如果特定事件类型具有附加的侦听器,则返回true。

once() this

on(…)类似,区别在于监听器只执行1次,并且执行后自动释放。

addEventParent(<Evented> obj) this

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

removeEventParent(<Evented> obj) this

删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件

addEventListener() this

on(…)的别名,兼容不同用户的命名习惯

removeEventListener() this

off(…)的别名,兼容不同用户的命名习惯

clearAllEventListeners() this

off()的别名,兼容不同用户的命名习惯

addOneTimeEventListener() this

once(…)的别名,兼容不同用户的命名习惯

fireEvent() this

fire(…)的别名,兼容不同用户的命名习惯

hasEventListeners() Boolean

listens(…)的别名,兼容不同用户的命名习惯

Polyline

用来在地图上创建折线的类,继承自 Path.

使用示例

// 根据数组参数点,创建红色折线
var latlngs = [
    [45.51, -122.68],
    [37.77, -122.43],
    [34.04, -118.2]
];
var polyline = L.polyline(latlngs, {color: 'red'}).addTo(map);
// 缩放地图到折线所在区域
map.fitBounds(polyline.getBounds());

您还可以传递一个多维数组来表示MultiPolyline形状:

// create a red polyline from an array of arrays of LatLng points
var latlngs = [
    [[45.51, -122.68],
     [37.77, -122.43],
     [34.04, -118.2]],
    [[40.78, -73.91],
     [41.83, -87.62],
     [32.76, -96.72]]
];

创建对象

创建示例 说明
L.polyline(<LatLng[]> latlngs, <Polyline options> options?) 给定一个地理点数组,和可选的选项对象,实例化一个折线对象。 您可以通过传递地理位置数组数组来创建Polyline具有多个单独折线(MultiPolyline)的对象。

Options参数选项

Option参数 参数类型 默认值 说明
smoothFactor Number 1.0 数值的大小可以简化每个缩放级别的折线。更多的意味着更好的性能和更平滑的外观,而更少的意味着更准确的表示。
noClip Boolean false 禁用折线裁剪.
Option参数 参数类型 默认值 说明
stroke Boolean true 是否显示边框.设置为false时,多边形和圆的边界将不可见
color String '#3388ff' 笔画颜色
weight Number 3 笔画宽度(以像素为单位)
opacity Number 1.0 不透明度
lineCap String 'round' 一个字符串,如 butt 、 round 、 square ,定义要在线两段使用的形状
lineJoin String 'round' 一个字符串, miter 、 round 、bevel ,定义要在线转折处使用的形状
dashArray String null 可以定义虚线线型, 如'5, 10', '15, 10, 5, 10'等。 一个字符串,用于定义笔划模式。 在一些旧的浏览器中,Canvas功能不起作用下不可用。
dashOffset String null 一个字符串, 属性指定了dash模式到路径开始的距离,如果使用了一个 百分比值, 那么这个值就代表了当前viewport的一个百分比。值可以取为负值。 在一些旧的浏览器中,Canvas功能不起作用下不可用。
fill Boolean depends 是否用填充颜色。将其设置false为禁用多边形或圆形的内部填充。
fillColor String * 填充颜色。默认为该color选项的值
fillOpacity Number 0.2 填充透明度,取值范围0.0-1.0
fillRule String 'evenodd' 一个字符串,用于定义填充形状
renderer Renderer 此路径使用的Renderer 特定实例。优先于地图的默认渲染器
className String null 在元素上设置自定义类名。仅适用于SVG渲染器。
Option参数 参数类型 默认值 说明
interactive Boolean true 如果false,该层不会发出鼠标事件,并且将作为底层地图的一部分。
Option参数 参数类型 默认值 说明
pane String 'overlayPane' 默认情况下,图层将添加到地图的 overlay pane. 中。覆盖此选项将导致默认情况下将该图层放置在另一个窗格上。
attribution String null 在attribution版权控件中展示的字符串,描述图层的版权信息(例如:"© Mapbox")

事件

Event Data 说明
click MouseEvent 当用户单击(or taps)地图时触发
dblclick MouseEvent 当用户双击(or double-taps)地图时触发
mousedown MouseEvent 当用户在图层上按下鼠标按钮时触发
mouseover MouseEvent 当鼠标进入图层时触发
mouseout MouseEvent 当鼠标离开图层时触发
contextmenu MouseEvent 当用户右键单击图层时触发,如果此事件上有侦听器,则会阻止默认的浏览器上下文菜单显示。当用户持有一次触摸(也称为长按)时,也会在手机上触发。
Event Data 说明
add Event 在图层添加到地图上之后触发
remove Event 在图层从地图上移除之后触发
Event Data 说明
popupopen PopupEvent 当绑定到当前图层的Popup弹窗打开时触发
popupclose PopupEvent 当绑定到当前图层的Popup弹窗关闭时触发
Event Data 说明
tooltipopen TooltipEvent 当Tooltip提示框绑定到这个图层并打开时触发
tooltipclose TooltipEvent 当Tooltip提示框绑定到这个图层并关闭时触发.

方法

方法名 返回值 说明
toGeoJSON() Object

将polyline转换为GeoJson格式对象(作为GeoJSON LineString或MultiLineStringFeature)

getLatLngs() LatLng[]

返回折线的坐标点的数组,或者在多折线的情况下返回嵌套的点阵列。

setLatLngs(<LatLng[]> latlngs) this

用给定的地理位置数组代替更新折线中的所有点。

isEmpty() Boolean

如果当前的polyline不包含latlng则返回true.

getCenter() LatLng

返回折线的(中心)

getBounds() LatLngBounds

返回polyline的矩形边界,以LatLngBounds(地理点集)的形式.

addLatLng(<LatLng> latlng) this

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

方法名 返回值 说明
redraw() this

重新绘制。在更改路径所使用的坐标之后会很有用。

setStyle(<Path options> style) this

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

bringToFront() this

将层移动到所有路径层的顶部。

bringToBack() this

将层移动到所有路径层的底部。

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

将图层添加到给定的地图

remove() this

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

removeFrom(<Map> map) this

从给定的地图上移除图层

getPane(<String> name?) HTMLElement

返回指定Pane窗格的HTMLElement对象。如果name省略,则返回此图层所在的Pane窗格。

getAttribution() String

用于attribution control,返回attribution参数.

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

将弹出窗口绑定到已传递的层,content并设置必要的事件侦听器。如果参数是一个Function方法被传递,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindPopup() this

移除当前通过bindpopup方法绑定的弹窗

openPopup(<LatLng> latlng?) this

在特定的位置打开弹窗,如果latlng没有设置则在默认的所在位置打开。

closePopup() this

关闭打开的弹窗

togglePopup() this

根据弹窗现在的状态来打开或关闭绑定到图层上的弹窗.

isPopupOpen() boolean

如果当前绑定的弹窗是打开的,则返回true

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

如设定绑定在图层上的弹窗的内容.

getPopup() Popup

返回当前绑定在图层上的弹窗.

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

将工具提示绑定到已传递的层content并设置必需的事件侦听器。如果是传入一个Function方法做参数,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindTooltip() this

移除之前通过bindTooltip方法绑定的提示框

openTooltip(<LatLng> latlng?) this

在特定的位置打开绑定的提示框,如果位置没有设置,则在默认的位置打开。

closeTooltip() this

如果提示框是打开的,则关闭绑定到图层的提示框.

toggleTooltip() this

根据当前的提示框状态来确定是打开还是关闭绑定到图层的提示框.

isTooltipOpen() boolean

如果当前绑定到图层的提示框是打开的,则返回true

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

设置当前绑定到图层的提示框的内容

getTooltip() Tooltip

返回当前绑定到图层的提示框

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

将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。

on(<Object> eventMap) this

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

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

删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。

off(<Object> eventMap) this

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

off() this

删除绑定到对象上的所有事件。

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

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

listens(<String> type) Boolean

如果特定事件类型具有附加的侦听器,则返回true。

once() this

on(…)类似,区别在于监听器只执行1次,并且执行后自动释放。

addEventParent(<Evented> obj) this

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

removeEventParent(<Evented> obj) this

删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件

addEventListener() this

on(…)的别名,兼容不同用户的命名习惯

removeEventListener() this

off(…)的别名,兼容不同用户的命名习惯

clearAllEventListeners() this

off()的别名,兼容不同用户的命名习惯

addOneTimeEventListener() this

once(…)的别名,兼容不同用户的命名习惯

fireEvent() this

fire(…)的别名,兼容不同用户的命名习惯

hasEventListeners() Boolean

listens(…)的别名,兼容不同用户的命名习惯

Polygon

在地图上绘制多边形的类。扩展Polyline。 请注意,创建多边形时通过的点不应该有一个额外的最后一点等于第一个点 - 最好滤除这些点。

使用示例

// create a red polygon from an array of LatLng points
var latlngs = [[37, -109.05],[41, -109.03],[41, -102.05],[37, -102.04]];
var polygon = L.polygon(latlngs, {color: 'red'}).addTo(map);
// zoom the map to the polygon
map.fitBounds(polygon.getBounds());

您还可以传递二维latlng数组,第一个数组表示外部形状,其他数组表示外部形状的内部凹孔:

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

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

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

创建对象

创建示例 说明
L.polygon(<LatLng[]> latlngs, <Polyline options> options?) 创建一个多边形

Options参数选项

Option参数 参数类型 默认值 说明
smoothFactor Number 1.0 数值的大小可以简化每个缩放级别的折线。更多的意味着更好的性能和更平滑的外观,而更少的意味着更准确的表示。
noClip Boolean false 禁用折线裁剪.
Option参数 参数类型 默认值 说明
stroke Boolean true 是否显示边框.设置为false时,多边形和圆的边界将不可见
color String '#3388ff' 笔画颜色
weight Number 3 笔画宽度(以像素为单位)
opacity Number 1.0 不透明度
lineCap String 'round' 一个字符串,如 butt 、 round 、 square ,定义要在线两段使用的形状
lineJoin String 'round' 一个字符串, miter 、 round 、bevel ,定义要在线转折处使用的形状
dashArray String null 可以定义虚线线型, 如'5, 10', '15, 10, 5, 10'等。 一个字符串,用于定义笔划模式。 在一些旧的浏览器中,Canvas功能不起作用下不可用。
dashOffset String null 一个字符串, 属性指定了dash模式到路径开始的距离,如果使用了一个 百分比值, 那么这个值就代表了当前viewport的一个百分比。值可以取为负值。 在一些旧的浏览器中,Canvas功能不起作用下不可用。
fill Boolean depends 是否用填充颜色。将其设置false为禁用多边形或圆形的内部填充。
fillColor String * 填充颜色。默认为该color选项的值
fillOpacity Number 0.2 填充透明度,取值范围0.0-1.0
fillRule String 'evenodd' 一个字符串,用于定义填充形状
renderer Renderer 此路径使用的Renderer 特定实例。优先于地图的默认渲染器
className String null 在元素上设置自定义类名。仅适用于SVG渲染器。
Option参数 参数类型 默认值 说明
interactive Boolean true 如果false,该层不会发出鼠标事件,并且将作为底层地图的一部分。
Option参数 参数类型 默认值 说明
pane String 'overlayPane' 默认情况下,图层将添加到地图的 overlay pane. 中。覆盖此选项将导致默认情况下将该图层放置在另一个窗格上。
attribution String null 在attribution版权控件中展示的字符串,描述图层的版权信息(例如:"© Mapbox")

事件

Event Data 说明
click MouseEvent 当用户单击(or taps)地图时触发
dblclick MouseEvent 当用户双击(or double-taps)地图时触发
mousedown MouseEvent 当用户在图层上按下鼠标按钮时触发
mouseover MouseEvent 当鼠标进入图层时触发
mouseout MouseEvent 当鼠标离开图层时触发
contextmenu MouseEvent 当用户右键单击图层时触发,如果此事件上有侦听器,则会阻止默认的浏览器上下文菜单显示。当用户持有一次触摸(也称为长按)时,也会在手机上触发。
Event Data 说明
add Event 在图层添加到地图上之后触发
remove Event 在图层从地图上移除之后触发
Event Data 说明
popupopen PopupEvent 当绑定到当前图层的Popup弹窗打开时触发
popupclose PopupEvent 当绑定到当前图层的Popup弹窗关闭时触发
Event Data 说明
tooltipopen TooltipEvent 当Tooltip提示框绑定到这个图层并打开时触发
tooltipclose TooltipEvent 当Tooltip提示框绑定到这个图层并关闭时触发.

方法

方法名 返回值 说明
toGeoJSON() Object

返回一个GeoJSON格式的对象数据 (作为 GeoJSON Polygon或MultiPolygonFeature)。

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

以数组的形式来返回当前的polyline的点

setLatLngs(<LatLng[]> latlngs) this

通过给定的地理点的数组来替换对象所有的点

isEmpty() Boolean

如果当前的polyline不包含latlng则返回true.

getCenter() LatLng

返回polyline的中心

getBounds() LatLngBounds

以LatLngBounds(地理点集)的形式返回polyline的边界

addLatLng(<LatLng> latlng) this

给当前的polyline来增加一个点.

方法名 返回值 说明
redraw() this

重新绘制。在更改路径所使用的坐标之后会很有用。

setStyle(<Path options> style) this

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

bringToFront() this

将层移动到所有路径层的顶部。

bringToBack() this

将层移动到所有路径层的底部。

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

将图层添加到给定的地图

remove() this

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

removeFrom(<Map> map) this

从给定的地图上移除图层

getPane(<String> name?) HTMLElement

返回指定Pane窗格的HTMLElement对象。如果name省略,则返回此图层所在的Pane窗格。

getAttribution() String

用于attribution control,返回attribution参数.

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

将弹出窗口绑定到已传递的层,content并设置必要的事件侦听器。如果参数是一个Function方法被传递,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindPopup() this

移除当前通过bindpopup方法绑定的弹窗

openPopup(<LatLng> latlng?) this

在特定的位置打开弹窗,如果latlng没有设置则在默认的所在位置打开。

closePopup() this

关闭打开的弹窗

togglePopup() this

根据弹窗现在的状态来打开或关闭绑定到图层上的弹窗.

isPopupOpen() boolean

如果当前绑定的弹窗是打开的,则返回true

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

如设定绑定在图层上的弹窗的内容.

getPopup() Popup

返回当前绑定在图层上的弹窗.

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

将工具提示绑定到已传递的层content并设置必需的事件侦听器。如果是传入一个Function方法做参数,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindTooltip() this

移除之前通过bindTooltip方法绑定的提示框

openTooltip(<LatLng> latlng?) this

在特定的位置打开绑定的提示框,如果位置没有设置,则在默认的位置打开。

closeTooltip() this

如果提示框是打开的,则关闭绑定到图层的提示框.

toggleTooltip() this

根据当前的提示框状态来确定是打开还是关闭绑定到图层的提示框.

isTooltipOpen() boolean

如果当前绑定到图层的提示框是打开的,则返回true

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

设置当前绑定到图层的提示框的内容

getTooltip() Tooltip

返回当前绑定到图层的提示框

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

将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。

on(<Object> eventMap) this

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

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

删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。

off(<Object> eventMap) this

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

off() this

删除绑定到对象上的所有事件。

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

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

listens(<String> type) Boolean

如果特定事件类型具有附加的侦听器,则返回true。

once() this

on(…)类似,区别在于监听器只执行1次,并且执行后自动释放。

addEventParent(<Evented> obj) this

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

removeEventParent(<Evented> obj) this

删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件

addEventListener() this

on(…)的别名,兼容不同用户的命名习惯

removeEventListener() this

off(…)的别名,兼容不同用户的命名习惯

clearAllEventListeners() this

off()的别名,兼容不同用户的命名习惯

addOneTimeEventListener() this

once(…)的别名,兼容不同用户的命名习惯

fireEvent() this

fire(…)的别名,兼容不同用户的命名习惯

hasEventListeners() Boolean

listens(…)的别名,兼容不同用户的命名习惯

Rectangle

在地图上添加一个矩形 的类,继承自 Polygon.

使用示例

// define rectangle geographical bounds
var bounds = [[54.559322, -5.767822], [56.1210604, -3.021240]];
// create an orange rectangle
L.rectangle(bounds, {color: "#ff7800", weight: 1}).addTo(map);
// zoom the map to the rectangle bounds
map.fitBounds(bounds);

创建对象

创建示例 说明
L.rectangle(<LatLngBounds> latLngBounds, <Polyline options> options?) 创建一个矩形

Options参数选项

Option参数 参数类型 默认值 说明
smoothFactor Number 1.0 数值的大小可以简化每个缩放级别的折线。更多的意味着更好的性能和更平滑的外观,而更少的意味着更准确的表示。
noClip Boolean false 禁用折线裁剪.
Option参数 参数类型 默认值 说明
stroke Boolean true 是否显示边框.设置为false时,多边形和圆的边界将不可见
color String '#3388ff' 笔画颜色
weight Number 3 笔画宽度(以像素为单位)
opacity Number 1.0 不透明度
lineCap String 'round' 一个字符串,如 butt 、 round 、 square ,定义要在线两段使用的形状
lineJoin String 'round' 一个字符串, miter 、 round 、bevel ,定义要在线转折处使用的形状
dashArray String null 可以定义虚线线型, 如'5, 10', '15, 10, 5, 10'等。 一个字符串,用于定义笔划模式。 在一些旧的浏览器中,Canvas功能不起作用下不可用。
dashOffset String null 一个字符串, 属性指定了dash模式到路径开始的距离,如果使用了一个 百分比值, 那么这个值就代表了当前viewport的一个百分比。值可以取为负值。 在一些旧的浏览器中,Canvas功能不起作用下不可用。
fill Boolean depends 是否用填充颜色。将其设置false为禁用多边形或圆形的内部填充。
fillColor String * 填充颜色。默认为该color选项的值
fillOpacity Number 0.2 填充透明度,取值范围0.0-1.0
fillRule String 'evenodd' 一个字符串,用于定义填充形状
renderer Renderer 此路径使用的Renderer 特定实例。优先于地图的默认渲染器
className String null 在元素上设置自定义类名。仅适用于SVG渲染器。
Option参数 参数类型 默认值 说明
interactive Boolean true 如果false,该层不会发出鼠标事件,并且将作为底层地图的一部分。
Option参数 参数类型 默认值 说明
pane String 'overlayPane' 默认情况下,图层将添加到地图的 overlay pane. 中。覆盖此选项将导致默认情况下将该图层放置在另一个窗格上。
attribution String null 在attribution版权控件中展示的字符串,描述图层的版权信息(例如:"© Mapbox")

事件

Event Data 说明
click MouseEvent 当用户单击(or taps)地图时触发
dblclick MouseEvent 当用户双击(or double-taps)地图时触发
mousedown MouseEvent 当用户在图层上按下鼠标按钮时触发
mouseover MouseEvent 当鼠标进入图层时触发
mouseout MouseEvent 当鼠标离开图层时触发
contextmenu MouseEvent 当用户右键单击图层时触发,如果此事件上有侦听器,则会阻止默认的浏览器上下文菜单显示。当用户持有一次触摸(也称为长按)时,也会在手机上触发。
Event Data 说明
add Event 在图层添加到地图上之后触发
remove Event 在图层从地图上移除之后触发
Event Data 说明
popupopen PopupEvent 当绑定到当前图层的Popup弹窗打开时触发
popupclose PopupEvent 当绑定到当前图层的Popup弹窗关闭时触发
Event Data 说明
tooltipopen TooltipEvent 当Tooltip提示框绑定到这个图层并打开时触发
tooltipclose TooltipEvent 当Tooltip提示框绑定到这个图层并关闭时触发.

方法

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

用传递的LatLngBounds边界重绘矩形。

方法名 返回值 说明
toGeoJSON() Object

返回一个GeoJSON格式的对象数据 (作为 GeoJSON Polygon或MultiPolygonFeature)。

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

以数组的形式来返回当前的polyline的点

setLatLngs(<LatLng[]> latlngs) this

通过给定的地理点的数组来替换对象所有的点

isEmpty() Boolean

如果当前的polyline不包含latlng则返回true.

getCenter() LatLng

返回polyline的中心

getBounds() LatLngBounds

以LatLngBounds(地理点集)的形式返回polyline的边界

addLatLng(<LatLng> latlng) this

给当前的polyline来增加一个点.

方法名 返回值 说明
redraw() this

重新绘制。在更改路径所使用的坐标之后会很有用。

setStyle(<Path options> style) this

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

bringToFront() this

将层移动到所有路径层的顶部。

bringToBack() this

将层移动到所有路径层的底部。

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

将图层添加到给定的地图

remove() this

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

removeFrom(<Map> map) this

从给定的地图上移除图层

getPane(<String> name?) HTMLElement

返回指定Pane窗格的HTMLElement对象。如果name省略,则返回此图层所在的Pane窗格。

getAttribution() String

用于attribution control,返回attribution参数.

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

将弹出窗口绑定到已传递的层,content并设置必要的事件侦听器。如果参数是一个Function方法被传递,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindPopup() this

移除当前通过bindpopup方法绑定的弹窗

openPopup(<LatLng> latlng?) this

在特定的位置打开弹窗,如果latlng没有设置则在默认的所在位置打开。

closePopup() this

关闭打开的弹窗

togglePopup() this

根据弹窗现在的状态来打开或关闭绑定到图层上的弹窗.

isPopupOpen() boolean

如果当前绑定的弹窗是打开的,则返回true

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

如设定绑定在图层上的弹窗的内容.

getPopup() Popup

返回当前绑定在图层上的弹窗.

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

将工具提示绑定到已传递的层content并设置必需的事件侦听器。如果是传入一个Function方法做参数,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindTooltip() this

移除之前通过bindTooltip方法绑定的提示框

openTooltip(<LatLng> latlng?) this

在特定的位置打开绑定的提示框,如果位置没有设置,则在默认的位置打开。

closeTooltip() this

如果提示框是打开的,则关闭绑定到图层的提示框.

toggleTooltip() this

根据当前的提示框状态来确定是打开还是关闭绑定到图层的提示框.

isTooltipOpen() boolean

如果当前绑定到图层的提示框是打开的,则返回true

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

设置当前绑定到图层的提示框的内容

getTooltip() Tooltip

返回当前绑定到图层的提示框

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

将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。

on(<Object> eventMap) this

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

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

删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。

off(<Object> eventMap) this

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

off() this

删除绑定到对象上的所有事件。

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

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

listens(<String> type) Boolean

如果特定事件类型具有附加的侦听器,则返回true。

once() this

on(…)类似,区别在于监听器只执行1次,并且执行后自动释放。

addEventParent(<Evented> obj) this

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

removeEventParent(<Evented> obj) this

删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件

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

创建对象

创建示例 说明
L.circle(<LatLng> latlng, <Circle options> options?) 实例化圆形对象,参考包括:地理坐标点,以及包含圆半径的options选项对象。
L.circle(<LatLng> latlng, <Number> radius, <Circle options> options?) 实例化圆形对象, 为了兼容0.7.x之前版本代码。不要在新的应用程序开发中使用。

Options参数选项

Option参数 参数类型 默认值 说明
radius Number 圆的半径,以米为单位。
Option参数 参数类型 默认值 说明
stroke Boolean true 是否显示边框.设置为false时,多边形和圆的边界将不可见
color String '#3388ff' 笔画颜色
weight Number 3 笔画宽度(以像素为单位)
opacity Number 1.0 不透明度
lineCap String 'round' 一个字符串,如 butt 、 round 、 square ,定义要在线两段使用的形状
lineJoin String 'round' 一个字符串, miter 、 round 、bevel ,定义要在线转折处使用的形状
dashArray String null 可以定义虚线线型, 如'5, 10', '15, 10, 5, 10'等。 一个字符串,用于定义笔划模式。 在一些旧的浏览器中,Canvas功能不起作用下不可用。
dashOffset String null 一个字符串, 属性指定了dash模式到路径开始的距离,如果使用了一个 百分比值, 那么这个值就代表了当前viewport的一个百分比。值可以取为负值。 在一些旧的浏览器中,Canvas功能不起作用下不可用。
fill Boolean depends 是否用填充颜色。将其设置false为禁用多边形或圆形的内部填充。
fillColor String * 填充颜色。默认为该color选项的值
fillOpacity Number 0.2 填充透明度,取值范围0.0-1.0
fillRule String 'evenodd' 一个字符串,用于定义填充形状
renderer Renderer 此路径使用的Renderer 特定实例。优先于地图的默认渲染器
className String null 在元素上设置自定义类名。仅适用于SVG渲染器。
Option参数 参数类型 默认值 说明
interactive Boolean true 如果false,该层不会发出鼠标事件,并且将作为底层地图的一部分。
Option参数 参数类型 默认值 说明
pane String 'overlayPane' 默认情况下,图层将添加到地图的 overlay pane. 中。覆盖此选项将导致默认情况下将该图层放置在另一个窗格上。
attribution String null 在attribution版权控件中展示的字符串,描述图层的版权信息(例如:"© Mapbox")

事件

Event Data 说明
click MouseEvent 当用户单击(or taps)地图时触发
dblclick MouseEvent 当用户双击(or double-taps)地图时触发
mousedown MouseEvent 当用户在图层上按下鼠标按钮时触发
mouseover MouseEvent 当鼠标进入图层时触发
mouseout MouseEvent 当鼠标离开图层时触发
contextmenu MouseEvent 当用户右键单击图层时触发,如果此事件上有侦听器,则会阻止默认的浏览器上下文菜单显示。当用户持有一次触摸(也称为长按)时,也会在手机上触发。
Event Data 说明
add Event 在图层添加到地图上之后触发
remove Event 在图层从地图上移除之后触发
Event Data 说明
popupopen PopupEvent 当绑定到当前图层的Popup弹窗打开时触发
popupclose PopupEvent 当绑定到当前图层的Popup弹窗关闭时触发
Event Data 说明
tooltipopen TooltipEvent 当Tooltip提示框绑定到这个图层并打开时触发
tooltipclose TooltipEvent 当Tooltip提示框绑定到这个图层并关闭时触发.

方法

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

设置圆的半径,单位为米

getRadius() Number

返回当前的圆的半径,单位为米.

getBounds() LatLngBounds

返回LatLngBounds(地理点的集合)

方法名 返回值 说明
toGeoJSON() Object

将圆转换为GeoJSON格式对象并返回(对象是GeoJSON Point,缺少半径值 )

setLatLng(<LatLng> latLng) this 设置circle新的坐标位置
getLatLng() LatLng

返回当前circle的坐标位置

setRadius(<Number> radius) this

设置当前circle的半径值

getRadius() Number

返回当前circle的半径值

方法名 返回值 说明
redraw() this

重新绘制。在更改路径所使用的坐标之后会很有用。

setStyle(<Path options> style) this

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

bringToFront() this

将层移动到所有路径层的顶部。

bringToBack() this

将层移动到所有路径层的底部。

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

将图层添加到给定的地图

remove() this

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

removeFrom(<Map> map) this

从给定的地图上移除图层

getPane(<String> name?) HTMLElement

返回指定Pane窗格的HTMLElement对象。如果name省略,则返回此图层所在的Pane窗格。

getAttribution() String

用于attribution control,返回attribution参数.

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

将弹出窗口绑定到已传递的层,content并设置必要的事件侦听器。如果参数是一个Function方法被传递,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindPopup() this

移除当前通过bindpopup方法绑定的弹窗

openPopup(<LatLng> latlng?) this

在特定的位置打开弹窗,如果latlng没有设置则在默认的所在位置打开。

closePopup() this

关闭打开的弹窗

togglePopup() this

根据弹窗现在的状态来打开或关闭绑定到图层上的弹窗.

isPopupOpen() boolean

如果当前绑定的弹窗是打开的,则返回true

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

如设定绑定在图层上的弹窗的内容.

getPopup() Popup

返回当前绑定在图层上的弹窗.

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

将工具提示绑定到已传递的层content并设置必需的事件侦听器。如果是传入一个Function方法做参数,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindTooltip() this

移除之前通过bindTooltip方法绑定的提示框

openTooltip(<LatLng> latlng?) this

在特定的位置打开绑定的提示框,如果位置没有设置,则在默认的位置打开。

closeTooltip() this

如果提示框是打开的,则关闭绑定到图层的提示框.

toggleTooltip() this

根据当前的提示框状态来确定是打开还是关闭绑定到图层的提示框.

isTooltipOpen() boolean

如果当前绑定到图层的提示框是打开的,则返回true

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

设置当前绑定到图层的提示框的内容

getTooltip() Tooltip

返回当前绑定到图层的提示框

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

将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。

on(<Object> eventMap) this

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

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

删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。

off(<Object> eventMap) this

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

off() this

删除绑定到对象上的所有事件。

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

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

listens(<String> type) Boolean

如果特定事件类型具有附加的侦听器,则返回true。

once() this

on(…)类似,区别在于监听器只执行1次,并且执行后自动释放。

addEventParent(<Evented> obj) this

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

removeEventParent(<Evented> obj) this

删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件

addEventListener() this

on(…)的别名,兼容不同用户的命名习惯

removeEventListener() this

off(…)的别名,兼容不同用户的命名习惯

clearAllEventListeners() this

off()的别名,兼容不同用户的命名习惯

addOneTimeEventListener() this

once(…)的别名,兼容不同用户的命名习惯

fireEvent() this

fire(…)的别名,兼容不同用户的命名习惯

hasEventListeners() Boolean

listens(…)的别名,兼容不同用户的命名习惯

CircleMarker

一个固定像素大小的圆标记,半径是像素指定。扩展集成自 Path.

创建对象

创建示例 说明
L.circleMarker(<LatLng> latlng, <CircleMarker options> options?) 给定地理点的实例化圆标记对象,以及可选的选项对象。

Options参数选项

Option参数 参数类型 默认值 说明
radius Number 10 圆形标记的半径,单位为像素
Option参数 参数类型 默认值 说明
stroke Boolean true 是否显示边框.设置为false时,多边形和圆的边界将不可见
color String '#3388ff' 笔画颜色
weight Number 3 笔画宽度(以像素为单位)
opacity Number 1.0 不透明度
lineCap String 'round' 一个字符串,如 butt 、 round 、 square ,定义要在线两段使用的形状
lineJoin String 'round' 一个字符串, miter 、 round 、bevel ,定义要在线转折处使用的形状
dashArray String null 可以定义虚线线型, 如'5, 10', '15, 10, 5, 10'等。 一个字符串,用于定义笔划模式。 在一些旧的浏览器中,Canvas功能不起作用下不可用。
dashOffset String null 一个字符串, 属性指定了dash模式到路径开始的距离,如果使用了一个 百分比值, 那么这个值就代表了当前viewport的一个百分比。值可以取为负值。 在一些旧的浏览器中,Canvas功能不起作用下不可用。
fill Boolean depends 是否用填充颜色。将其设置false为禁用多边形或圆形的内部填充。
fillColor String * 填充颜色。默认为该color选项的值
fillOpacity Number 0.2 填充透明度,取值范围0.0-1.0
fillRule String 'evenodd' 一个字符串,用于定义填充形状
renderer Renderer 此路径使用的Renderer 特定实例。优先于地图的默认渲染器
className String null 在元素上设置自定义类名。仅适用于SVG渲染器。
Option参数 参数类型 默认值 说明
interactive Boolean true 如果false,该层不会发出鼠标事件,并且将作为底层地图的一部分。
Option参数 参数类型 默认值 说明
pane String 'overlayPane' 默认情况下,图层将添加到地图的 overlay pane. 中。覆盖此选项将导致默认情况下将该图层放置在另一个窗格上。
attribution String null 在attribution版权控件中展示的字符串,描述图层的版权信息(例如:"© Mapbox")

事件

Event Data 说明
click MouseEvent 当用户单击(or taps)地图时触发
dblclick MouseEvent 当用户双击(or double-taps)地图时触发
mousedown MouseEvent 当用户在图层上按下鼠标按钮时触发
mouseover MouseEvent 当鼠标进入图层时触发
mouseout MouseEvent 当鼠标离开图层时触发
contextmenu MouseEvent 当用户右键单击图层时触发,如果此事件上有侦听器,则会阻止默认的浏览器上下文菜单显示。当用户持有一次触摸(也称为长按)时,也会在手机上触发。
Event Data 说明
add Event 在图层添加到地图上之后触发
remove Event 在图层从地图上移除之后触发
Event Data 说明
popupopen PopupEvent 当绑定到当前图层的Popup弹窗打开时触发
popupclose PopupEvent 当绑定到当前图层的Popup弹窗关闭时触发
Event Data 说明
tooltipopen TooltipEvent 当Tooltip提示框绑定到这个图层并打开时触发
tooltipclose TooltipEvent 当Tooltip提示框绑定到这个图层并关闭时触发.

方法

方法名 返回值 说明
toGeoJSON() Object

将圆转换为GeoJSON格式对象并返回(对象是GeoJSON Point,缺少半径值 )

setLatLng(<LatLng> latLng) this 设置circle marker新的坐标位置
getLatLng() LatLng

返回当前circle marker的坐标位置

setRadius(<Number> radius) this

设置当前circle marker的半径值

getRadius() Number

返回当前circle marker的半径值

方法名 返回值 说明
redraw() this

重新绘制。在更改路径所使用的坐标之后会很有用。

setStyle(<Path options> style) this

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

bringToFront() this

将层移动到所有路径层的顶部。

bringToBack() this

将层移动到所有路径层的底部。

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

将图层添加到给定的地图

remove() this

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

removeFrom(<Map> map) this

从给定的地图上移除图层

getPane(<String> name?) HTMLElement

返回指定Pane窗格的HTMLElement对象。如果name省略,则返回此图层所在的Pane窗格。

getAttribution() String

用于attribution control,返回attribution参数.

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

将弹出窗口绑定到已传递的层,content并设置必要的事件侦听器。如果参数是一个Function方法被传递,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindPopup() this

移除当前通过bindpopup方法绑定的弹窗

openPopup(<LatLng> latlng?) this

在特定的位置打开弹窗,如果latlng没有设置则在默认的所在位置打开。

closePopup() this

关闭打开的弹窗

togglePopup() this

根据弹窗现在的状态来打开或关闭绑定到图层上的弹窗.

isPopupOpen() boolean

如果当前绑定的弹窗是打开的,则返回true

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

如设定绑定在图层上的弹窗的内容.

getPopup() Popup

返回当前绑定在图层上的弹窗.

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

将工具提示绑定到已传递的层content并设置必需的事件侦听器。如果是传入一个Function方法做参数,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindTooltip() this

移除之前通过bindTooltip方法绑定的提示框

openTooltip(<LatLng> latlng?) this

在特定的位置打开绑定的提示框,如果位置没有设置,则在默认的位置打开。

closeTooltip() this

如果提示框是打开的,则关闭绑定到图层的提示框.

toggleTooltip() this

根据当前的提示框状态来确定是打开还是关闭绑定到图层的提示框.

isTooltipOpen() boolean

如果当前绑定到图层的提示框是打开的,则返回true

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

设置当前绑定到图层的提示框的内容

getTooltip() Tooltip

返回当前绑定到图层的提示框

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

将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。

on(<Object> eventMap) this

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

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

删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。

off(<Object> eventMap) this

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

off() this

删除绑定到对象上的所有事件。

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

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

listens(<String> type) Boolean

如果特定事件类型具有附加的侦听器,则返回true。

once() this

on(…)类似,区别在于监听器只执行1次,并且执行后自动释放。

addEventParent(<Evented> obj) this

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

removeEventParent(<Evented> obj) this

删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件

addEventListener() this

on(…)的别名,兼容不同用户的命名习惯

removeEventListener() this

off(…)的别名,兼容不同用户的命名习惯

clearAllEventListeners() this

off()的别名,兼容不同用户的命名习惯

addOneTimeEventListener() this

once(…)的别名,兼容不同用户的命名习惯

fireEvent() this

fire(…)的别名,兼容不同用户的命名习惯

hasEventListeners() Boolean

listens(…)的别名,兼容不同用户的命名习惯

SVG

虽然SVG在IE7和IE8上不可用,但是这些浏览器支持VML, 在这种情况下,SVG渲染器将会回退到VML。VML在2012年已被弃用,这意味着VML功能只能与旧版本的Internet Explorer向后兼容。

允许使用SVG显示矢量图层。 继承Renderer.。由于技术上的限制,SVG在一些移动浏览器中都不可用,特别是Android 2.x和3.x。 虽然SVG在IE7和IE8上不可用,但这些浏览器支持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 } );

创建对象

创建示例 说明
L.svg(<Renderer options> options?) 使用给定的选项创建一个SVG渲染器。

Options参数选项

Option参数 参数类型 默认值 说明
padding Number 0.1 扩展地图视图周围的剪辑区域(相对于其大小),例如0.1将是每个方向的地图视图的10%
Option参数 参数类型 默认值 说明
pane String 'overlayPane' 默认情况下,图层将添加到地图的 overlay pane. 中。覆盖此选项将导致默认情况下将该图层放置在另一个窗格上。
attribution String null 在attribution版权控件中展示的字符串,描述图层的版权信息(例如:"© Mapbox")

事件

Event Data 说明
update Event 当渲染器更新其边界,中心和缩放时,例如当其地图已移动时触发
Event Data 说明
add Event 在图层添加到地图上之后触发
remove Event 在图层从地图上移除之后触发
Event Data 说明
popupopen PopupEvent 当绑定到当前图层的Popup弹窗打开时触发
popupclose PopupEvent 当绑定到当前图层的Popup弹窗关闭时触发
Event Data 说明
tooltipopen TooltipEvent 当Tooltip提示框绑定到这个图层并打开时触发
tooltipclose TooltipEvent 当Tooltip提示框绑定到这个图层并关闭时触发.

方法

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

将图层添加到给定的地图

remove() this

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

removeFrom(<Map> map) this

从给定的地图上移除图层

getPane(<String> name?) HTMLElement

返回指定Pane窗格的HTMLElement对象。如果name省略,则返回此图层所在的Pane窗格。

getAttribution() String

用于attribution control,返回attribution参数.

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

将弹出窗口绑定到已传递的层,content并设置必要的事件侦听器。如果参数是一个Function方法被传递,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindPopup() this

移除当前通过bindpopup方法绑定的弹窗

openPopup(<LatLng> latlng?) this

在特定的位置打开弹窗,如果latlng没有设置则在默认的所在位置打开。

closePopup() this

关闭打开的弹窗

togglePopup() this

根据弹窗现在的状态来打开或关闭绑定到图层上的弹窗.

isPopupOpen() boolean

如果当前绑定的弹窗是打开的,则返回true

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

如设定绑定在图层上的弹窗的内容.

getPopup() Popup

返回当前绑定在图层上的弹窗.

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

将工具提示绑定到已传递的层content并设置必需的事件侦听器。如果是传入一个Function方法做参数,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindTooltip() this

移除之前通过bindTooltip方法绑定的提示框

openTooltip(<LatLng> latlng?) this

在特定的位置打开绑定的提示框,如果位置没有设置,则在默认的位置打开。

closeTooltip() this

如果提示框是打开的,则关闭绑定到图层的提示框.

toggleTooltip() this

根据当前的提示框状态来确定是打开还是关闭绑定到图层的提示框.

isTooltipOpen() boolean

如果当前绑定到图层的提示框是打开的,则返回true

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

设置当前绑定到图层的提示框的内容

getTooltip() Tooltip

返回当前绑定到图层的提示框

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

将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。

on(<Object> eventMap) this

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

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

删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。

off(<Object> eventMap) this

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

off() this

删除绑定到对象上的所有事件。

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

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

listens(<String> type) Boolean

如果特定事件类型具有附加的侦听器,则返回true。

once() this

on(…)类似,区别在于监听器只执行1次,并且执行后自动释放。

addEventParent(<Evented> obj) this

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

removeEventParent(<Evented> obj) this

删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件

addEventListener() this

on(…)的别名,兼容不同用户的命名习惯

removeEventListener() this

off(…)的别名,兼容不同用户的命名习惯

clearAllEventListeners() this

off()的别名,兼容不同用户的命名习惯

addOneTimeEventListener() this

once(…)的别名,兼容不同用户的命名习惯

fireEvent() this

fire(…)的别名,兼容不同用户的命名习惯

hasEventListeners() Boolean

listens(…)的别名,兼容不同用户的命名习惯

静态方法

有几个静态函数可以在不实例化L.SVG的情况下被调用:
方法名 返回值 说明
create(<String> name) SVGElement 返回与通过的类名相对应的SVGElement实例。 例如,使用'line'将返回一个SVGLineElement的实例。
pointsToPath(<Point[]> rings, <Boolean> closed) String 生成多个环的SVG路径字符串,每个路径都变成“"M..L..L.."”指令

Canvas

允许矢量图层显示<canvas>。 继承Renderer。 由于技术上的限制,Canvas在部分网页浏览器中都不可用,尤其是IE8,而且在某些边缘情况下,重叠的几何可能无法正常显示。

使用示例

默认为地图中的所有矢量图层renderer使用Canvas:

var map = L.map('map', {
    renderer: L.canvas()
});

矢量图层,使用额外填充的Canvas渲染器:

var map = L.map('map');
var myRenderer = L.canvas({ padding: 0.5 });
var line = L.polyline( coordinates, { renderer: myRenderer } );
var circle = L.circle( center, { renderer: myRenderer } );

创建对象

创建示例 说明
L.canvas(<Renderer options> options?) 使用给定的选项创建一个Canvas渲染器。

Options参数选项

Option参数 参数类型 默认值 说明
padding Number 0.1 扩展地图视图周围的剪辑区域(相对于其大小),例如0.1将是每个方向的地图视图的10%
Option参数 参数类型 默认值 说明
pane String 'overlayPane' 默认情况下,图层将添加到地图的 overlay pane. 中。覆盖此选项将导致默认情况下将该图层放置在另一个窗格上。
attribution String null 在attribution版权控件中展示的字符串,描述图层的版权信息(例如:"© Mapbox")

事件

Event Data 说明
update Event 当渲染器更新其边界,中心和缩放时,例如当其地图已移动时触发
Event Data 说明
add Event 在图层添加到地图上之后触发
remove Event 在图层从地图上移除之后触发
Event Data 说明
popupopen PopupEvent 当绑定到当前图层的Popup弹窗打开时触发
popupclose PopupEvent 当绑定到当前图层的Popup弹窗关闭时触发
Event Data 说明
tooltipopen TooltipEvent 当Tooltip提示框绑定到这个图层并打开时触发
tooltipclose TooltipEvent 当Tooltip提示框绑定到这个图层并关闭时触发.

方法

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

将图层添加到给定的地图

remove() this

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

removeFrom(<Map> map) this

从给定的地图上移除图层

getPane(<String> name?) HTMLElement

返回指定Pane窗格的HTMLElement对象。如果name省略,则返回此图层所在的Pane窗格。

getAttribution() String

用于attribution control,返回attribution参数.

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

将弹出窗口绑定到已传递的层,content并设置必要的事件侦听器。如果参数是一个Function方法被传递,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindPopup() this

移除当前通过bindpopup方法绑定的弹窗

openPopup(<LatLng> latlng?) this

在特定的位置打开弹窗,如果latlng没有设置则在默认的所在位置打开。

closePopup() this

关闭打开的弹窗

togglePopup() this

根据弹窗现在的状态来打开或关闭绑定到图层上的弹窗.

isPopupOpen() boolean

如果当前绑定的弹窗是打开的,则返回true

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

如设定绑定在图层上的弹窗的内容.

getPopup() Popup

返回当前绑定在图层上的弹窗.

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

将工具提示绑定到已传递的层content并设置必需的事件侦听器。如果是传入一个Function方法做参数,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindTooltip() this

移除之前通过bindTooltip方法绑定的提示框

openTooltip(<LatLng> latlng?) this

在特定的位置打开绑定的提示框,如果位置没有设置,则在默认的位置打开。

closeTooltip() this

如果提示框是打开的,则关闭绑定到图层的提示框.

toggleTooltip() this

根据当前的提示框状态来确定是打开还是关闭绑定到图层的提示框.

isTooltipOpen() boolean

如果当前绑定到图层的提示框是打开的,则返回true

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

设置当前绑定到图层的提示框的内容

getTooltip() Tooltip

返回当前绑定到图层的提示框

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

将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。

on(<Object> eventMap) this

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

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

删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。

off(<Object> eventMap) this

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

off() this

删除绑定到对象上的所有事件。

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

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

listens(<String> type) Boolean

如果特定事件类型具有附加的侦听器,则返回true。

once() this

on(…)类似,区别在于监听器只执行1次,并且执行后自动释放。

addEventParent(<Evented> obj) this

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

removeEventParent(<Evented> obj) this

删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件

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

创建对象

创建示例 说明
L.layerGroup(<Layer[]> layers) 创建一个图层组,可选地给出一组初始图层。

Options参数选项

Option参数 参数类型 默认值 说明
pane String 'overlayPane' 默认情况下,图层将添加到地图的 overlay pane. 中。覆盖此选项将导致默认情况下将该图层放置在另一个窗格上。
attribution String null 在attribution版权控件中展示的字符串,描述图层的版权信息(例如:"© Mapbox")

事件

Event Data 说明
add Event 在图层添加到地图上之后触发
remove Event 在图层从地图上移除之后触发
Event Data 说明
popupopen PopupEvent 当绑定到当前图层的Popup弹窗打开时触发
popupclose PopupEvent 当绑定到当前图层的Popup弹窗关闭时触发
Event Data 说明
tooltipopen TooltipEvent 当Tooltip提示框绑定到这个图层并打开时触发
tooltipclose TooltipEvent 当Tooltip提示框绑定到这个图层并关闭时触发.

方法

方法名 返回值 说明
toGeoJSON() Object

返回GeoJSON格式对象(作为GeoJSON GeometryCollection)。

addLayer(<Layer> layer) this

增加一个图层到图层组中去

removeLayer(<Layer> layer) this

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

removeLayer(<Number> id) this

从组中删除具有给定内部ID的图层。

hasLayer(<Layer> layer) Boolean

如果给定图层当前已添加到组中,则返回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> map) this

将图层添加到给定的地图

remove() this

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

removeFrom(<Map> map) this

从给定的地图上移除图层

getPane(<String> name?) HTMLElement

返回指定Pane窗格的HTMLElement对象。如果name省略,则返回此图层所在的Pane窗格。

getAttribution() String

用于attribution control,返回attribution参数.

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

将弹出窗口绑定到已传递的层,content并设置必要的事件侦听器。如果参数是一个Function方法被传递,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindPopup() this

移除当前通过bindpopup方法绑定的弹窗

openPopup(<LatLng> latlng?) this

在特定的位置打开弹窗,如果latlng没有设置则在默认的所在位置打开。

closePopup() this

关闭打开的弹窗

togglePopup() this

根据弹窗现在的状态来打开或关闭绑定到图层上的弹窗.

isPopupOpen() boolean

如果当前绑定的弹窗是打开的,则返回true

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

如设定绑定在图层上的弹窗的内容.

getPopup() Popup

返回当前绑定在图层上的弹窗.

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

将工具提示绑定到已传递的层content并设置必需的事件侦听器。如果是传入一个Function方法做参数,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindTooltip() this

移除之前通过bindTooltip方法绑定的提示框

openTooltip(<LatLng> latlng?) this

在特定的位置打开绑定的提示框,如果位置没有设置,则在默认的位置打开。

closeTooltip() this

如果提示框是打开的,则关闭绑定到图层的提示框.

toggleTooltip() this

根据当前的提示框状态来确定是打开还是关闭绑定到图层的提示框.

isTooltipOpen() boolean

如果当前绑定到图层的提示框是打开的,则返回true

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

设置当前绑定到图层的提示框的内容

getTooltip() Tooltip

返回当前绑定到图层的提示框

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

将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。

on(<Object> eventMap) this

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

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

删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。

off(<Object> eventMap) this

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

off() this

删除绑定到对象上的所有事件。

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

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

listens(<String> type) Boolean

如果特定事件类型具有附加的侦听器,则返回true。

once() this

on(…)类似,区别在于监听器只执行1次,并且执行后自动释放。

addEventParent(<Evented> obj) this

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

removeEventParent(<Evented> obj) this

删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件

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

创建对象

创建示例 说明
L.featureGroup(<Layer[]> layers) 创建一个图层组,可选地给出一组初始层。

Options参数选项

Option参数 参数类型 默认值 说明
pane String 'overlayPane' 默认情况下,图层将添加到地图的 overlay pane. 中。覆盖此选项将导致默认情况下将该图层放置在另一个窗格上。
attribution String null 在attribution版权控件中展示的字符串,描述图层的版权信息(例如:"© Mapbox")

事件

Event Data 说明
layeradd LayerEvent 当图层增加到图层组时触发
layerremove LayerEvent 当图层从图层组中移除时触发
Event Data 说明
add Event 在图层添加到地图上之后触发
remove Event 在图层从地图上移除之后触发
Event Data 说明
popupopen PopupEvent 当绑定到当前图层的Popup弹窗打开时触发
popupclose PopupEvent 当绑定到当前图层的Popup弹窗关闭时触发
Event Data 说明
tooltipopen TooltipEvent 当Tooltip提示框绑定到这个图层并打开时触发
tooltipclose TooltipEvent 当Tooltip提示框绑定到这个图层并关闭时触发.

方法

方法名 返回值 说明
setStyle(<Path options> style) this

设置给定的patn参数去给每个图层设置样式

bringToFront() this

将图层组移动到所有其他图层的顶部

bringToBack() this

将图层组移动到所有其他图层的底部

getBounds() LatLngBounds

返回图层组的LatLngBounds(从其所有子项的边界和坐标计算)。

方法名 返回值 说明
toGeoJSON() Object

返回GeoJSON格式对象(作为GeoJSON GeometryCollection)。

addLayer(<Layer> layer) this

增加一个图层到图层组中去

removeLayer(<Layer> layer) this

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

removeLayer(<Number> id) this

从组中删除具有给定内部ID的图层。

hasLayer(<Layer> layer) Boolean

如果给定图层当前已添加到组中,则返回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> map) this

将图层添加到给定的地图

remove() this

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

removeFrom(<Map> map) this

从给定的地图上移除图层

getPane(<String> name?) HTMLElement

返回指定Pane窗格的HTMLElement对象。如果name省略,则返回此图层所在的Pane窗格。

getAttribution() String

用于attribution control,返回attribution参数.

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

将弹出窗口绑定到已传递的层,content并设置必要的事件侦听器。如果参数是一个Function方法被传递,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindPopup() this

移除当前通过bindpopup方法绑定的弹窗

openPopup(<LatLng> latlng?) this

在特定的位置打开弹窗,如果latlng没有设置则在默认的所在位置打开。

closePopup() this

关闭打开的弹窗

togglePopup() this

根据弹窗现在的状态来打开或关闭绑定到图层上的弹窗.

isPopupOpen() boolean

如果当前绑定的弹窗是打开的,则返回true

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

如设定绑定在图层上的弹窗的内容.

getPopup() Popup

返回当前绑定在图层上的弹窗.

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

将工具提示绑定到已传递的层content并设置必需的事件侦听器。如果是传入一个Function方法做参数,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindTooltip() this

移除之前通过bindTooltip方法绑定的提示框

openTooltip(<LatLng> latlng?) this

在特定的位置打开绑定的提示框,如果位置没有设置,则在默认的位置打开。

closeTooltip() this

如果提示框是打开的,则关闭绑定到图层的提示框.

toggleTooltip() this

根据当前的提示框状态来确定是打开还是关闭绑定到图层的提示框.

isTooltipOpen() boolean

如果当前绑定到图层的提示框是打开的,则返回true

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

设置当前绑定到图层的提示框的内容

getTooltip() Tooltip

返回当前绑定到图层的提示框

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

将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。

on(<Object> eventMap) this

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

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

删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。

off(<Object> eventMap) this

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

off() this

删除绑定到对象上的所有事件。

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

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

listens(<String> type) Boolean

如果特定事件类型具有附加的侦听器,则返回true。

once() this

on(…)类似,区别在于监听器只执行1次,并且执行后自动释放。

addEventParent(<Evented> obj) this

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

removeEventParent(<Evented> obj) this

删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件

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

创建对象

创建示例 说明
L.geoJSON(<Object> geojson?, <GeoJSON options> options?) 创建GeoJSON图层。可以接受以GeoJSON 格式显示的对象, 以在地图上显示(您可以随意添加addData方法)和一个options对象。

Options参数选项

Option参数 参数类型 默认值 说明
pointToLayer Function * 一个方法定义GeoJSON如何产生Leaflet层。 当添加数据时,内部调用它,传递GeoJSON点功能及其LatLng。 默认是产生一个默认值Marker:
function(geoJsonPoint, latlng) {
    return L.marker(latlng);
}
style Function * 一个方法定义了Path options GeoJSON线和多边形的样式,在添加数据时内部调用。默认值是不覆盖任何默认值:
function (geoJsonFeature) {
    return {}
}
onEachFeature Function * 一个方法将Feature在创建和创建之后为每个创建调用一次。用于将事件和弹出窗口附加到Feature要素中。默认是对新创建的图层什么也不做:
function (feature, layer) {}
filter Function * 一个方法将用于决定是否包括要素,主要用于筛选数据。默认是包括所有要素:
function (geoJsonFeature) {
    return true;
}

注意:动态更改filter选项将仅对新添加的数据有效。它不会重新评估已经包含的Feature数据。

coordsToLatLng Function * 一个方法将用于将GeoJSON坐标转换为LatLngs。默认是coordsToLatLng静态方法。
Option参数 参数类型 默认值 说明
pane String 'overlayPane' 默认情况下,图层将添加到地图的 overlay pane. 中。覆盖此选项将导致默认情况下将该图层放置在另一个窗格上。
attribution String null 在attribution版权控件中展示的字符串,描述图层的版权信息(例如:"© Mapbox")

事件

Event Data 说明
layeradd LayerEvent 当从FeatureGroup对象中添加图层时触发
layerremove LayerEvent 当从FeatureGroup对象中删除图层时触发
Event Data 说明
add Event 在图层添加到地图上之后触发
remove Event 在图层从地图上移除之后触发
Event Data 说明
popupopen PopupEvent 当绑定到当前图层的Popup弹窗打开时触发
popupclose PopupEvent 当绑定到当前图层的Popup弹窗关闭时触发
Event Data 说明
tooltipopen TooltipEvent 当Tooltip提示框绑定到这个图层并打开时触发
tooltipclose TooltipEvent 当Tooltip提示框绑定到这个图层并关闭时触发.

方法

方法名 返回值 说明
addData(data) this

向图层添加一个GeoJSON对象。

resetStyle(layer) this

将给定矢量图层的样式重新设置为原始的GeoJSON样式,可用于在鼠标悬停事件后重新设置样式。

setStyle(style) this

通过给定的样式来改变矢量图层的GeoJson样式

方法名 返回值 说明
setStyle(<Path options> style) this

设置给定的patn参数去给每个图层设置样式

bringToFront() this

将图层组移动到所有其他图层的顶部

bringToBack() this

将图层组移动到所有其他图层的底部

getBounds() LatLngBounds

返回图层组的LatLngBounds(从其所有子项的边界和坐标计算)。

方法名 返回值 说明
toGeoJSON() Object

返回GeoJSON格式对象(作为GeoJSON GeometryCollection)。

addLayer(<Layer> layer) this

增加一个图层到图层组中去

removeLayer(<Layer> layer) this

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

removeLayer(<Number> id) this

从组中删除具有给定内部ID的图层。

hasLayer(<Layer> layer) Boolean

如果给定图层当前已添加到组中,则返回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> map) this

将图层添加到给定的地图

remove() this

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

removeFrom(<Map> map) this

从给定的地图上移除图层

getPane(<String> name?) HTMLElement

返回指定Pane窗格的HTMLElement对象。如果name省略,则返回此图层所在的Pane窗格。

getAttribution() String

用于attribution control,返回attribution参数.

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

将弹出窗口绑定到已传递的层,content并设置必要的事件侦听器。如果参数是一个Function方法被传递,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindPopup() this

移除当前通过bindpopup方法绑定的弹窗

openPopup(<LatLng> latlng?) this

在特定的位置打开弹窗,如果latlng没有设置则在默认的所在位置打开。

closePopup() this

关闭打开的弹窗

togglePopup() this

根据弹窗现在的状态来打开或关闭绑定到图层上的弹窗.

isPopupOpen() boolean

如果当前绑定的弹窗是打开的,则返回true

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

如设定绑定在图层上的弹窗的内容.

getPopup() Popup

返回当前绑定在图层上的弹窗.

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

将工具提示绑定到已传递的层content并设置必需的事件侦听器。如果是传入一个Function方法做参数,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindTooltip() this

移除之前通过bindTooltip方法绑定的提示框

openTooltip(<LatLng> latlng?) this

在特定的位置打开绑定的提示框,如果位置没有设置,则在默认的位置打开。

closeTooltip() this

如果提示框是打开的,则关闭绑定到图层的提示框.

toggleTooltip() this

根据当前的提示框状态来确定是打开还是关闭绑定到图层的提示框.

isTooltipOpen() boolean

如果当前绑定到图层的提示框是打开的,则返回true

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

设置当前绑定到图层的提示框的内容

getTooltip() Tooltip

返回当前绑定到图层的提示框

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

将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。

on(<Object> eventMap) this

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

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

删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。

off(<Object> eventMap) this

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

off() this

删除绑定到对象上的所有事件。

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

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

listens(<String> type) Boolean

如果特定事件类型具有附加的侦听器,则返回true。

once() this

on(…)类似,区别在于监听器只执行1次,并且执行后自动释放。

addEventParent(<Evented> obj) this

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

removeEventParent(<Evented> obj) this

删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件

addEventListener() this

on(…)的别名,兼容不同用户的命名习惯

removeEventListener() this

off(…)的别名,兼容不同用户的命名习惯

clearAllEventListeners() this

off()的别名,兼容不同用户的命名习惯

addOneTimeEventListener() this

once(…)的别名,兼容不同用户的命名习惯

fireEvent() this

fire(…)的别名,兼容不同用户的命名习惯

hasEventListeners() Boolean

listens(…)的别名,兼容不同用户的命名习惯

静态方法

有几个静态函数可以在不实例化L.GeoJSON的情况下调用:
方法名 返回值 说明
geometryToLayer(<Object> featureData, <GeoJSON options> options?) Layer 从给定的GeoJSON对象创建Layer。 可以使用自定义pointToLayer 和/或 coordsToLatLng函数(如果提供)作为选项。
coordsToLatLng(<Array> coords) LatLng 从GeoJSON中用于点的2个数字LatLng(经度,纬度)或3个数字(经度,纬度,高度)的数组 创建对象。
coordsToLatLngs(<Array> coords, <Number> levelsDeep?, <Function> coordsToLatLng?) Array 从GeoJSON坐标数组 创建一个多维数组LatLngs。 levelsDeep指定嵌套级别(0表示点阵列,1表示阵列数组等,默认为0)。可以使用自定义coordsToLatLng 方法。
latLngToCoords(<LatLng> latlng) Array coordsToLatLng方法的逆向操作
latLngsToCoords(<Array> latlngs, <Number> levelsDeep?, <Boolean> closed?) Array coordsToLatLngs方法的逆向操作 确定第一个点是否应该附加到阵列的末尾以关闭该特征,仅在closedlevelsDeep为0时使用。默认情况下为False。
asFeature(<Object> geojson) Object 将 GeoJSON geometries/features 合并为 GeoJSON features.

GridLayer

用于处理HTML元素的平铺网格的通用类。这是所有tile层和替换的基类TileLayer.Canvas。 GridLayer可以扩展到创建HTML元素的像平铺格<canvas>, <img><div>。GridLayer将为您处理创建这些DOM元素。

使用示例

同步使用

要创建自定义层,继承GridLayer和重写createTile()方法, 这将传递一个Point对象和x,y和z(缩放级别)坐标绘制的瓦片。

var CanvasLayer = L.GridLayer.extend({
    createTile: function(coords){
        // create a <canvas> element for drawing
        var tile = L.DomUtil.create('canvas', 'leaflet-tile');
        // setup tile width and height according to the options
        var size = this.getTileSize();
        tile.width = size.x;
        tile.height = size.y;
        // get a canvas context and draw something on it using coords.x, coords.y and coords.z
        var ctx = tile.getContext('2d');
        // return the tile so it can be rendered on screen
        return tile;
    }
});

异步使用

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;
    }
});

创建对象

创建示例 说明
L.gridLayer(<GridLayer options> options?) 使用提供的选项创建一个新的GridLayer实例。

Options参数选项

Option参数 参数类型 默认值 说明
tileSize Number|Point 256 网格中瓦片的宽度和高度。如果宽度和高度相等,则使用数字,否则L.point(width, height)。
opacity Number 1.0 瓦片的不透明度。可以在createTile()功能中使用
updateWhenIdle Boolean depends 如果false在平移期间加载新的瓦片,否则只能在其后(为了更好的性能)。默认情况下true,在移动浏览器上false。
updateWhenZooming Boolean true 默认情况下,平滑缩放动画(touch zoomflyTo()) 会在整个缩放级别更新网格图层。设置此选项false将仅在平滑动画结束时更新网格层。
updateInterval Number 200 当平移时,updateInterval毫秒不会更新一次瓦片。
zIndex Number 1 瓦片层的显式zIndex。
bounds LatLngBounds undefined 如果设置, 将仅加载 LatLngBounds中的集合数据。
minZoom Number 0 最小缩放级别。默认为0,整个地图。
maxZoom Number undefined 最大缩放级别。
noWrap Boolean false 该层是否在子午线断面。 如果为true,GridLayer只能在低缩放级别显示一次。当地图CRS 不包围时,没有任何效果。 可以结合使用bounds 以防止在CRS限制之外请求瓦片。
pane String 'tilePane' 网格层将添加地图pane窗格的位置。
className String '' 要分配给瓦片图层的自定义类名称。默认为空。
keepBuffer Number 2 当平移地图时,在卸载它们之前,先保留许多行和列的数据块。
Option参数 参数类型 默认值 说明
attribution String null 在attribution版权控件中展示的字符串,描述图层的版权信息(例如:"© Mapbox")

事件

Event Data 说明
loading Event 当栅格图层开始加载瓦片时触发
tileunload TileEvent 当瓦片移除时触发
tileloadstart TileEvent 当瓦片请求或开始加载时触发
tileerror TileErrorEvent 当加载瓦片出错时触发
tileload TileEvent 当加载瓦片时触发
load Event 当栅格图层加载可视瓦片时触发
Event Data 说明
add Event 在图层添加到地图上之后触发
remove Event 在图层从地图上移除之后触发
Event Data 说明
popupopen PopupEvent 当绑定到当前图层的Popup弹窗打开时触发
popupclose PopupEvent 当绑定到当前图层的Popup弹窗关闭时触发
Event Data 说明
tooltipopen TooltipEvent 当Tooltip提示框绑定到这个图层并打开时触发
tooltipclose TooltipEvent 当Tooltip提示框绑定到这个图层并关闭时触发.

方法

方法名 返回值 说明
bringToFront() this

将图层置于所有图层之上

bringToBack() this

将图层置于所有图层之下

getContainer() HTMLElement

返回一个包含这个图层瓦片的html节点

setOpacity(<Number> opacity) this

改变这个栅格图层的透明度

setZIndex(<Number> zIndex) this

改变栅格图层的叠放顺序

isLoading() Boolean

如果栅格图层中的所有瓦片都没结束加载,则返回true

redraw() this

使图层清除所有图块,并再次请求后重新绘制。

getTileSize() Point

tileSize option归一化为一个点。用于该createTile()方法。

扩展方法

继承自 GridLayer的图层应重新实现以下方法。
方法名 返回值 说明
createTile(<Object> coords, <Function> done?) HTMLElement

仅在内部调用,必须由扩展的类覆盖GridLayer。 返回相应HTMLElement的给定值coords。如果指定了done回调函数,则必须在瓦片完成加载和绘制时调用它。

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

将图层添加到给定的地图

remove() this

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

removeFrom(<Map> map) this

从给定的地图上移除图层

getPane(<String> name?) HTMLElement

返回指定Pane窗格的HTMLElement对象。如果name省略,则返回此图层所在的Pane窗格。

getAttribution() String

用于attribution control,返回attribution参数.

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

将弹出窗口绑定到已传递的层,content并设置必要的事件侦听器。如果参数是一个Function方法被传递,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindPopup() this

移除当前通过bindpopup方法绑定的弹窗

openPopup(<LatLng> latlng?) this

在特定的位置打开弹窗,如果latlng没有设置则在默认的所在位置打开。

closePopup() this

关闭打开的弹窗

togglePopup() this

根据弹窗现在的状态来打开或关闭绑定到图层上的弹窗.

isPopupOpen() boolean

如果当前绑定的弹窗是打开的,则返回true

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

如设定绑定在图层上的弹窗的内容.

getPopup() Popup

返回当前绑定在图层上的弹窗.

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

将工具提示绑定到已传递的层content并设置必需的事件侦听器。如果是传入一个Function方法做参数,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindTooltip() this

移除之前通过bindTooltip方法绑定的提示框

openTooltip(<LatLng> latlng?) this

在特定的位置打开绑定的提示框,如果位置没有设置,则在默认的位置打开。

closeTooltip() this

如果提示框是打开的,则关闭绑定到图层的提示框.

toggleTooltip() this

根据当前的提示框状态来确定是打开还是关闭绑定到图层的提示框.

isTooltipOpen() boolean

如果当前绑定到图层的提示框是打开的,则返回true

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

设置当前绑定到图层的提示框的内容

getTooltip() Tooltip

返回当前绑定到图层的提示框

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

将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。

on(<Object> eventMap) this

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

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

删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。

off(<Object> eventMap) this

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

off() this

删除绑定到对象上的所有事件。

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

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

listens(<String> type) Boolean

如果特定事件类型具有附加的侦听器,则返回true。

once() this

on(…)类似,区别在于监听器只执行1次,并且执行后自动释放。

addEventParent(<Evented> obj) this

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

removeEventParent(<Evented> obj) this

删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件

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({lon: 30, lat: 50});
map.panTo({lat: 50, lng: 30});
map.panTo(L.latLng(50, 30));

创建对象

创建示例 说明
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}代替。

方法

方法名 返回值 说明
equals(<LatLng> otherLatLng, <Number> maxMargin?) Boolean

如果给定的LatLng点是在相同的位置(错误的小幅度的范围内)返回true。误差范围可以通过设置maxMargin来确定。

toString() String

返回点的字符串表示(用于调试目的)。

distanceTo(<LatLng> otherLatLng) Number

使用Haversine公式计算与参数的LatLng之间的距离(以米为单位)。

wrap() LatLng

返回一个包含经度的新LatLng对象,它始终介于-180和+180度之间。

toBounds(<Number> sizeInMeters) LatLngBounds

返回一个与LatLng组成的新LatLngBounds对象,其中每个边界与之相隔sizeInMeters/2。

属性

属性 参数类型 说明
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]
]);

注意:如果该区域穿过子午线(经常与国际日期行混淆),longitude则必须指定[-180,180]度的经度范围之外的值。

创建对象

创建示例 说明
L.latLngBounds(<LatLng> corner1, <LatLng> corner2) 通过定义矩形的两个对角线相对的角的2个坐标来创建对象。
L.latLngBounds(<LatLng[]> latlngs) 创建LatLngBounds由其包含的地理位置定义的对象。对于缩放地图以适合特定的位置集非常有用fitBounds。

方法

方法名 返回值 说明
extend(<LatLng> latlng) this

扩展边界范围以包含给定的点坐标

extend(<LatLngBounds> otherBounds) this

扩展边界以包含给定的边界

pad(<Number> bufferRatio) LatLngBounds

通过在每个方向上按给定百分比扩展当前边界,返回更大的边界

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

如果矩形与给定边界重叠,则返回true。如果交叉点是一个区域,则两个边界重叠。

toBBoxString() String

返回带有边界框坐标的字符串,格式:“southwest_lng,southwest_lat,northeast_lng,northeast_lat”。用于向返回地理数据的Web服务发送请求。

equals(<LatLngBounds> otherBounds) Boolean

如果矩形与给定的边界相等(在小的误差范围内),则返回true。

isValid() Boolean

如果边界被正确初始化,返回true.

Point

表示一个像素点,x和y分别表示横纵的像素坐标。

使用示例

var point = L.point(200, 300);

所有接受Point对象的Leaflet方法和选项也以简单的Array形式接受它们(除非另有说明),因此这些行是等价的:

map.panBy([200, 300]);
map.panBy(L.point(200, 300));

创建对象

创建示例 说明
L.point(<Number> x, <Number> y, <Boolean> round?) 使用给定x和y坐标创建一个Point对象。如果可选round设置为true,则舍入x和y值。
L.point(<Number[]> coords) 参数是一个表单的数组[x, y]。
L.point(<Object> coords) 参数是一个普通的object对象{x: Number, y: Number}。

方法

方法名 返回值 说明
clone() Point

返回当前点的副本。

add(<Point> otherPoint) Point

返回添加当前和给定点的结果。

subtract(<Point> otherPoint) Point

返回从当前值减去给定点的结果。

divideBy(<Number> num) Point

返回当前点除以给定数字的结果。

multiplyBy(<Number> num) Point

返回当前点乘以给定数字的结果。

scaleBy(<Point> scale) Point

将当前点的每个坐标乘以每个坐标。在线性代数项中,将点乘以由scale定义的 缩放矩阵scale。

unscaleBy(<Point> scale) Point

反向scaleBy。将当前点的每个坐标除以每个坐标scale。

round() Point

以圆角坐标返回当前点的副本。

floor() Point

返回带有坐标坐标的当前点的副本(向下舍入)。

ceil() Point

返回当前点的副本,带有坐标坐标(向上舍入)。

distanceTo(<Point> otherPoint) Number

返回当前和给定点之间的笛卡尔距离。

equals(<Point> otherPoint) Boolean

如果给定点具有相同的坐标,则返回true。

contains(<Point> otherPoint) Boolean

给定的点的两个坐标是小于相应的当前点坐标(绝对值)返回true

toString() String

返回用于调试目的的点的字符串表示形式.

属性

属性 参数类型 说明
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方法也以简单的数组形式接受它们(除非另有说明),因此上面的范例可以这样传递:

otherBounds.intersects([[10, 10], [40, 60]]);

创建对象

创建示例 说明
L.bounds(<Point> topLeft, <Point> bottomRight) 从两个坐标(通常是左上角和右下角)创建一个Bounds对象。
L.bounds(<Point[]> points) 从包含的点创建一个Bounds对象

方法

方法名 返回值 说明
extend(<Point> point) this

扩展边界以包含给定的点。

getCenter(<Boolean> round?) Point

返回边界的中心点

getBottomLeft() Point

返回边界的左下角.

getTopRight() Point

返回边界的右上角

getSize() Point

返回边界的大小

contains(<Bounds> otherBounds) Boolean

如果矩形包含给定的矩形,则返回true。

contains(<Point> point) Boolean

如果矩形包含给定点,则返回true。

intersects(<Bounds> otherBounds) Boolean

如果矩形与给定边界相交, 则返回true。如果两个界限至少有一个共同点,则两个界限相交。

overlaps(<Bounds> otherBounds) Boolean

如果矩形与给定边界重叠, 则返回 true。如果交叉点是一个区域,则两个边界重叠。

属性

属性 参数类型 说明
min Point 矩形的左上角
max Point 矩形的右下角

Icon

表示创建marker标记时要提供的图标。

使用示例

var myIcon = L.icon({
    iconUrl: 'my-icon.png',
    iconSize: [38, 95],
    iconAnchor: [22, 94],
    popupAnchor: [-3, -76],
    shadowUrl: 'my-icon-shadow.png',
    shadowSize: [68, 95],
    shadowAnchor: [22, 94]
});
L.marker([50.505, 30.57], {icon: myIcon}).addTo(map);

L.Icon.Default 是扩展 L.Icon的对象,是Leaflet默认情况下用于标记的蓝色图标。

创建对象

创建示例 说明
L.icon(<Icon options> options) 使用给定的选项创建一个图标实例。

Options参数选项

Option参数 参数类型 默认值 说明
iconUrl String null (必需)icon图标图像的URL(绝对或相对于您的脚本路径)。
iconRetinaUrl String null 用于Retina屏幕设备大尺寸版本的图标图像的URL(绝对或相对于您的脚本路径)。
iconSize Point null icon图片的大小(单位:像素)
iconAnchor Point null 图标的“指示地理位置的锚点”的坐标(相对于其左上角)。 以便图标显示准确位于标记的地理位置。 如果指定大小,则iconAnchor默认为图标中心点,也可以在带有负边距的CSS中设置。
popupAnchor Point null popup弹窗相对于图标的锚点“打开”的点的坐标。
shadowUrl String null 图标阴影图像的URL。如果未指定,将不会创建阴影图像。
shadowRetinaUrl String null 用于Retina屏幕设备大尺寸版本的图标图像阴影图像的URL。如果未指定,将不会创建阴影图像。
shadowSize Point null 阴影部分的图片大小(单位:像素)
shadowAnchor Point null 阴影(相对于其左上角)的“提示”的坐标(与未指定的iconAnchor相同)。
className String '' 要分配给图标和阴影图像的自定义css类名称。默认为空。
Option参数 参数类型 默认值 说明
pane String 'overlayPane' 默认情况下,图层将添加到地图的 overlay pane. 中。覆盖此选项将导致默认情况下将该图层放置在另一个窗格上。
attribution String null 在attribution版权控件中展示的字符串,描述图层的版权信息(例如:"© Mapbox")

事件

Event Data 说明
add Event 在图层添加到地图上之后触发
remove Event 在图层从地图上移除之后触发
Event Data 说明
popupopen PopupEvent 当绑定到当前图层的Popup弹窗打开时触发
popupclose PopupEvent 当绑定到当前图层的Popup弹窗关闭时触发
Event Data 说明
tooltipopen TooltipEvent 当Tooltip提示框绑定到这个图层并打开时触发
tooltipclose TooltipEvent 当Tooltip提示框绑定到这个图层并关闭时触发.

方法

方法名 返回值 说明
createIcon(<HTMLElement> oldIcon?) HTMLElement

当图标必须显示时内部调用,根据选项返回<img>HTML元素节点。

createShadow(<HTMLElement> oldIcon?) HTMLElement

类似createIcon,但是创建的是在它下面的阴影图标HTML元素节点.

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

将图层添加到给定的地图

remove() this

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

removeFrom(<Map> map) this

从给定的地图上移除图层

getPane(<String> name?) HTMLElement

返回指定Pane窗格的HTMLElement对象。如果name省略,则返回此图层所在的Pane窗格。

getAttribution() String

用于attribution control,返回attribution参数.

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

将弹出窗口绑定到已传递的层,content并设置必要的事件侦听器。如果参数是一个Function方法被传递,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindPopup() this

移除当前通过bindpopup方法绑定的弹窗

openPopup(<LatLng> latlng?) this

在特定的位置打开弹窗,如果latlng没有设置则在默认的所在位置打开。

closePopup() this

关闭打开的弹窗

togglePopup() this

根据弹窗现在的状态来打开或关闭绑定到图层上的弹窗.

isPopupOpen() boolean

如果当前绑定的弹窗是打开的,则返回true

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

如设定绑定在图层上的弹窗的内容.

getPopup() Popup

返回当前绑定在图层上的弹窗.

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

将工具提示绑定到已传递的层content并设置必需的事件侦听器。如果是传入一个Function方法做参数,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindTooltip() this

移除之前通过bindTooltip方法绑定的提示框

openTooltip(<LatLng> latlng?) this

在特定的位置打开绑定的提示框,如果位置没有设置,则在默认的位置打开。

closeTooltip() this

如果提示框是打开的,则关闭绑定到图层的提示框.

toggleTooltip() this

根据当前的提示框状态来确定是打开还是关闭绑定到图层的提示框.

isTooltipOpen() boolean

如果当前绑定到图层的提示框是打开的,则返回true

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

设置当前绑定到图层的提示框的内容

getTooltip() Tooltip

返回当前绑定到图层的提示框

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

将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。

on(<Object> eventMap) this

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

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

删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。

off(<Object> eventMap) this

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

off() this

删除绑定到对象上的所有事件。

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

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

listens(<String> type) Boolean

如果特定事件类型具有附加的侦听器,则返回true。

once() this

on(…)类似,区别在于监听器只执行1次,并且执行后自动释放。

addEventParent(<Evented> obj) this

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

removeEventParent(<Evented> obj) this

删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件

addEventListener() this

on(…)的别名,兼容不同用户的命名习惯

removeEventListener() this

off(…)的别名,兼容不同用户的命名习惯

clearAllEventListeners() this

off()的别名,兼容不同用户的命名习惯

addOneTimeEventListener() this

once(…)的别名,兼容不同用户的命名习惯

fireEvent() this

fire(…)的别名,兼容不同用户的命名习惯

hasEventListeners() Boolean

listens(…)的别名,兼容不同用户的命名习惯

Icon.Default

一个简单的Icon,子类,是一个蓝色标记图像。 在Markers 中 当没有指定图标时使用的图标。 为了自定义默认图标,只需更改L.Icon.Default.prototype.options (这是一组Icon options)的属性。 如果要完全替换默认图标, L.Marker.prototype.options.icon也请改用自己的图标。
Option参数 参数类型 默认值 说明
imagePath String L.Icon.Default将尝试自动检测蓝色图标图像的绝对位置。 如果以非标准方式放置这些图像,请将此选项设置为指向正确的绝对路径。

DivIcon

使用<div>元素而不是图像的标记的轻量级图标。继承Icon 而忽略iconUrl和阴影选项。 DivIcon可以用于显示文字marker标记,因为div内部内容完成有你自由控制,所以可以用DivIcon创建任意你能够想到的marker标记。

使用示例

var myIcon = L.divIcon({className: 'my-div-icon'});
// you can set .my-div-icon styles in CSS
L.marker([50.505, 30.57], {icon: myIcon}).addTo(map);

默认情况下,它有一个'leaflet-div-icon'CSS类,并被设计为一个带有阴影的小白色正方形。

创建对象

创建示例 说明
L.divIcon(<DivIcon options> options) 使用给定的选项创建一个 DivIcon 实例

Options参数选项

Option参数 参数类型 默认值 说明
html String '#x27;' 自定义HTML代码放在div元素中,默认为空.
bgPos Point [0, 0] 可选,背景的相对位置,以像素为单位
Option参数 参数类型 默认值 说明
iconUrl String null icon图片的url(绝对或相对你的script路径)
iconRetinaUrl String null 一个视网膜大小版本的图标图像(绝对或相对你的script路径).用于视网膜屏幕设备.
iconSize Point null icon图片的大小(单位:像素)
iconAnchor Point null 图标的“尖”坐标(相对于它的左上角
popupAnchor Point null 弹窗的弹出位置(弹窗的尖坐标)
shadowUrl String null 图标阴影图片的url
shadowRetinaUrl String null
shadowSize Point null 阴影部分的图片大小(单位:像素)
shadowAnchor Point null 阴影部分的尖的坐标(相对于左上角))(如iconanchor如果没有指定相同)
className String '' 要分配给图标和阴影图像的自定义类名.默认为空.
Option参数 参数类型 默认值 说明
pane String 'overlayPane' 默认情况下,图层将被添加到地图的覆盖窗口中.重写此选项将导致默认情况下将该图层放置在另一窗口上.
attribution String null 属性控制的字符串,描述层的数据,例如“©MAPbox”.

事件

Event Data 说明
add Event 在图层添加到地图上之后触发
remove Event 在图层从地图上移除之后触发
Event Data 说明
popupopen PopupEvent 当绑定到当前图层的Popup弹窗打开时触发
popupclose PopupEvent 当绑定到当前图层的Popup弹窗关闭时触发
Event Data 说明
tooltipopen TooltipEvent 当Tooltip提示框绑定到这个图层并打开时触发
tooltipclose TooltipEvent 当Tooltip提示框绑定到这个图层并关闭时触发.

方法

方法名 返回值 说明
createIcon(<HTMLElement> oldIcon?) HTMLElement

当图标必须显示时内部调用,根据选项返回<img>HTML元素节点。

createShadow(<HTMLElement> oldIcon?) HTMLElement

类似createIcon,但是创建的是在它下面的阴影图标HTML元素节点.

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

将图层添加到给定的地图

remove() this

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

removeFrom(<Map> map) this

从给定的地图上移除图层

getPane(<String> name?) HTMLElement

返回指定Pane窗格的HTMLElement对象。如果name省略,则返回此图层所在的Pane窗格。

getAttribution() String

用于attribution control,返回attribution参数.

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

将弹出窗口绑定到已传递的层,content并设置必要的事件侦听器。如果参数是一个Function方法被传递,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindPopup() this

移除当前通过bindpopup方法绑定的弹窗

openPopup(<LatLng> latlng?) this

在特定的位置打开弹窗,如果latlng没有设置则在默认的所在位置打开。

closePopup() this

关闭打开的弹窗

togglePopup() this

根据弹窗现在的状态来打开或关闭绑定到图层上的弹窗.

isPopupOpen() boolean

如果当前绑定的弹窗是打开的,则返回true

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

如设定绑定在图层上的弹窗的内容.

getPopup() Popup

返回当前绑定在图层上的弹窗.

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

将工具提示绑定到已传递的层content并设置必需的事件侦听器。如果是传入一个Function方法做参数,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindTooltip() this

移除之前通过bindTooltip方法绑定的提示框

openTooltip(<LatLng> latlng?) this

在特定的位置打开绑定的提示框,如果位置没有设置,则在默认的位置打开。

closeTooltip() this

如果提示框是打开的,则关闭绑定到图层的提示框.

toggleTooltip() this

根据当前的提示框状态来确定是打开还是关闭绑定到图层的提示框.

isTooltipOpen() boolean

如果当前绑定到图层的提示框是打开的,则返回true

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

设置当前绑定到图层的提示框的内容

getTooltip() Tooltip

返回当前绑定到图层的提示框

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

将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。

on(<Object> eventMap) this

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

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

删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。

off(<Object> eventMap) this

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

off() this

删除绑定到对象上的所有事件。

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

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

listens(<String> type) Boolean

如果特定事件类型具有附加的侦听器,则返回true。

once() this

on(…)类似,区别在于监听器只执行1次,并且执行后自动释放。

addEventParent(<Evented> obj) this

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

removeEventParent(<Evented> obj) this

删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件

addEventListener() this

on(…)的别名,兼容不同用户的命名习惯

removeEventListener() this

off(…)的别名,兼容不同用户的命名习惯

clearAllEventListeners() this

off()的别名,兼容不同用户的命名习惯

addOneTimeEventListener() this

once(…)的别名,兼容不同用户的命名习惯

fireEvent() this

fire(…)的别名,兼容不同用户的命名习惯

hasEventListeners() Boolean

listens(…)的别名,兼容不同用户的命名习惯

Control.Zoom

具有两个按钮(放大和缩小)的地图级别控制控件。 它在默认情况下他自动加载到地图中,如果不要显示则需要把地图上zoomControl option设置为false。 扩展继承自Control.

创建对象

创建示例 说明
L.control.zoom(<Control.Zoom options> options) 创建一个缩放控件

Options参数选项

Option参数 参数类型 默认值 说明
zoomInText String '+' 在“放大”按钮上设置的显示文本。
zoomInTitle String 'Zoom in' 在“放大”按钮上设置鼠标悬停提示文本
zoomOutText String '-' 在“缩小”按钮上设置显示文本
zoomOutTitle String 'Zoom out' 在“缩小”按钮上设置鼠标悬停提示文本
Option参数 参数类型 默认值 说明
position String 'topright' 控件的位置(显示在地图的四角)。可选值有: 'topleft', 'topright', 'bottomleft''bottomright'

方法

方法名 返回值 说明
getPosition() string

返回控件的位置。

setPosition(<string> position) this

设置控件的位置。

getContainer() HTMLElement

返回包含控件的HTMLElement。

addTo(<Map> map) this

将控件添加到给定的地图。类同于map.addControl(val)

remove() this

从当前活动的地图中移除控件。类同于map.removeControl(val)

Control.Attribution

该控件允许您在地图上的小文本框中显示地图数据商的版权信息, 控件会从与当前显示的层的getAttribution方法自动获取版权信息文字并自动显示。 它默认是加载在地图上,除非你设置它的attributionControl option 选项来false, 扩展继承自Control.

创建对象

创建示例 说明
L.control.attribution(<Control.Attribution options> options) 创建一个版权信息控件

Options参数选项

Option参数 参数类型 默认值 说明
prefix String 'Leaflet' 在版权信息之显示的前缀HTML文字。通过false禁用
Option参数 参数类型 默认值 说明
position String 'topright' 控件的位置(显示在地图的四角)。可选值有: 'topleft', 'topright', 'bottomleft''bottomright'

方法

方法名 返回值 说明
setPrefix(<String> prefix) this

设置在版权信息之显示的前缀HTML文字

addAttribution(<String> text) this

增加一个版权信息文本 (例如: 'Vector data &copy; Mapbox').

removeAttribution(<String> text) this

移除一个版权信息文本

方法名 返回值 说明
getPosition() string

返回控件的位置。

setPosition(<string> position) this

设置控件的位置。

getContainer() HTMLElement

返回包含控件的HTMLElement。

addTo(<Map> map) this

将控件添加到给定的地图。类同于map.addControl(val)

remove() this

从当前活动的地图中移除控件。类同于map.removeControl(val)

Control.Layers

图层控制控件,使用户能够在不同的基础层之间切换和切换覆盖的图层(查看详细示例)。 扩展继承自 Control.

使用示例

var baseLayers = {
    "Mapbox": mapbox,
    "OpenStreetMap": osm
};
var overlays = {
    "Marker": marker,
    "Roads": roadsLayer
};
L.control.layers(baseLayers, overlays).addTo(map);

使用的baseLayers和overlays参数是键值对objct对象作为值,其中值必须是Layer的子类:

{
    "<someName1>": layer1,
    "<someName2>": layer2
}

图层名称可以包含HTML,允许您向控件添加其他样式:

{"<img src='my-layer-icon' /> <span class='my-layer-item'>My Layer</span>": myLayer}

创建对象

创建示例 说明
L.control.layers(<Object> baselayers?, <Object> overlays?, <Control.Layers options> options?) 使用给定图层创建图层控制控件。 baselayers基层将使用单选按钮进行切换,而overlays叠加层将以复选框切换。 请注意,所有基层应在基层图层中传递,但在地图实例化过程中只能将一个图层添加到地图中。

Options参数选项

Option参数 参数类型 默认值 说明
collapsed Boolean true 如果为true,控件将会变成一个折叠型的图标,并且在鼠标悬停和触碰到时将会展开
autoZIndex Boolean true 如果true,控件将按增加的顺序为其所有图层分配zIndexes,以便在打开/关闭切换时保留顺序。
hideSingleBase Boolean false 如果true,当只有一个时,控件中的基层将被隐藏。
sortLayers Boolean false 是否对图层进行排序。如果false,图层将保持添加到控件中的顺序。
sortFunction Function * 一个比较方法 将被用于排序所述层,当sortLayers是true。 该函数接收L.Layer实例及其名称,如同 sortFunction(layerA, layerB, nameA, nameB)。默认情况下,它按字母顺序排列其名称。
Option参数 参数类型 默认值 说明
position String 'topright' 控件的位置(显示在地图的四角)。可选值有: 'topleft', 'topright', 'bottomleft''bottomright'

方法

方法名 返回值 说明
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

将控件添加到给定的地图。类同于map.addControl(val)

remove() this

从当前活动的地图中移除控件。类同于map.removeControl(val)

Control.Scale

一个简单的比例尺显示控件,显示当前屏幕中心的尺度(m / km)和英制(mi / ft)比例值。 扩展继承自 Control.

使用示例

L.control.scale().addTo(map);

创建对象

创建示例 说明
L.control.scale(<Control.Scale options> options?) 通过给定的参数来创建一个比例尺控件

Options参数选项

Option参数 参数类型 默认值 说明
maxWidth Number 100 控件的最大宽度(以像素为单位)。动态设置宽度以显示圆形值(例如100,200,500)。
metric Boolean True 是否显示十进制米制度量线(m / km)
imperial Boolean True 是否显示英制尺度线(mi / ft)
updateWhenIdle Boolean false 如果true控件更新moveend,否则始终是最新的 (更新move)。
Option参数 参数类型 默认值 说明
position String 'topright' 控件的位置(显示在地图的四角)。可选值有: 'topleft', 'topright', 'bottomleft''bottomright'

方法

方法名 返回值 说明
getPosition() string

返回控件的位置。

setPosition(<string> position) this

设置控件的位置。

getContainer() HTMLElement

返回包含控件的HTMLElement。

addTo(<Map> map) this

将控件添加到给定的地图。类同于map.addControl(val)

remove() this

从当前活动的地图中移除控件。类同于map.removeControl(val)

Browser

用于浏览器/功能检测的静态属性的命名空间在Leaflet内部使用。

使用示例

if (L.Browser.ielt9) {
  alert('Upgrade your browser, dude!');
}

属性

属性 参数类型 说明
ie Boolean 判断当前是否是Internet Explorer浏览器(不是Edge)。
ielt9 Boolean Internet Explorer版本小于9则返回true 。
edge Boolean 为Edge Web浏览器则返回true。
webkit Boolean 适用于基于Webkit的浏览器,如Chrome和Safari(包括手机版)则返回true。
gecko Boolean 适用于基于gecko的浏览器,如Firefox则返回true。
android Boolean 适用于任何在Android平台上运行的浏览器 则返回true。
android23 Boolean 适用于在Android 2或Android 3上运行的浏览器 则返回true。
chrome Boolean 适用于Chrome浏览器 则返回true。
safari Boolean 用于Safari浏览器 则返回true。
win Boolean 当浏览器在Windows平台上运行时 则返回true
ie3d Boolean 适用于支持CSS转换的所有Internet Explorer版本 则返回true。
webkit3d Boolean 适用于支持CSS变换的基于Webkit的浏览器 则返回true。
gecko3d Boolean 适用于支持CSS变换的基于gecko3d的浏览器 则返回true。
opera12 Boolean 用于支持CSS变换的Opera浏览器(版本12或更高版本) 则返回true。
any3d Boolean 适用于支持CSS变换的所有浏览器 则返回true。
mobile Boolean 适用于在移动设备中运行的所有浏览器 则返回true。
mobileWebkit Boolean 适用于移动设备中所有基于webkit的浏览器 则返回true。
mobileWebkit3d Boolean 适用于支持CSS转换的移动设备中的所有基于webkit的浏览器 则返回true。
mobileOpera Boolean 用于移动设备中的Opera浏览器 则返回true。
mobileGecko Boolean 用于在移动设备中运行的基于壁虎的浏览器 则返回true。
touch Boolean 适用于支持触摸事件touch events的所有浏览器 则返回true。 这并不一定意味着浏览器在具有触摸屏的计算机中运行,这只意味着浏览器能够理解触摸事件。
msPointer Boolean 适用于实施Microsoft触摸事件模型(尤其是IE10)的浏览器 则返回true。
pointer Boolean 适用于支持指针事件pointer events的所有浏览器 则返回true。
retina Boolean 用于高分辨率的retina屏幕上的浏览器 则返回true。
canvas Boolean 适用于支持 <canvas>的浏览器 则返回true
vml Boolean 适用于支持 VML的浏览器 则返回true
svg Boolean 适用于支持 SVG的浏览器 则返回true

Util

各种util常用函数,由Leaflet内部使用。

方法

方法名 返回值 说明
extend(<Object> dest, <Object> src?) Object 将src对象(或多个对象)的属性合并到dest对象中并返回后者。也可以使用L.extend,等同效果
create(<Object> proto, <Object> properties?) Object 兼容polyfill的 Object.create
bind(<Function> fn, ) Function 返回绑定到传递参数的新函数,如 Function.prototype.bind. 也可以使用L.bind(),等同效果
stamp(<Object> obj) Number 返回一个对象的唯一ID,如果没有它,请将其添加一个。
throttle(<Function> fn, <Number> time, <Object> context) Function 返回一个fn使用给定范围执行函数的函数context (以便this关键字引用context里面fn的代码)。该函数 fn将被称为不超过一次给定量time。 bound函数接收到的参数将是绑定函数时传递的任何参数,后跟在调用绑定函数时传递的任何参数。 也可以使用L.bind(),等同效果
wrapNum(<Number> num, <Number[]> range, <Boolean> includeMax?) Number 返回num模数range,使其位于range[0]和range[1]内。返回的值将始终小于 range[1]除非includeMax设置的值true。
falseFn() Function 始终返回false的函数。
formatNum(<Number> num, <Number> digits?) Number 返回num舍入为digits小数的数字,或默认为5位小数。
trim(<String> str) String 兼容polyfill的 String.prototype.trim
splitWords(<String> str) String[] 分割字符串在空格上并返回子数组。
setOptions(<Object> obj, <Object> options) Object 合并给定的属性添加到options了的obj对象,返回结果的选项。见Class options。 也可以使用L.setOptions,等同效果
getParamString(<Object> obj, <String> existingUrl?, <Boolean> uppercase?) String 将对象转换为参数URL字符串,例如{a: "foo", b: "bar"} 转换为'?a=foo&b=bar'。 如果existingUrl设置,参数将被追加到最后。如果uppercase是true,参数名称将被上位(例如'?A=foo&B=bar'
template(<String> str, <Object> data) String 简单的模板工具,接受表单的模板字符串'Hello {a}, {b}'和数据对象{a: 'foo', b: 'bar'}, 返回评估字符串 ('Hello foo, bar')。您还可以为数据值指定函数而不是字符串 - 它们将data作为参数进行求值传递。
isArray(obj) Boolean 兼容polyfill的 Array.isArray
indexOf(<Array> array, <Object> el) Number 兼容polyfill的 Array.prototype.indexOf
requestAnimFrame(<Function> fn, <Object> context?, <Boolean> immediate?) Number fn浏览器重绘时要执行的时间表。如果给予fn,必然 context。何时immediate设置,fn如果浏览器没有本机支持, window.requestAnimationFrame则立即调用,否则会延迟。返回可用于取消请求的请求ID。
cancelAnimFrame(<Number> id) undefined 取消以前的requestAnimFrame。另见 window.cancelAnimationFrame.

属性

属性 参数类型 说明
lastId Number 使用 stamp() 的最后唯一ID
emptyImageUrl String 包含base64编码的空GIF图像的数据URI字符串。作为一个黑客来使用WebKit驱动的移动设备上的未使用的图像释放内存(通过将图像src设置为此字符串)。

Transformation

仿射变换类:一组系数a,b,c,d 转化形式的点(x, y)进(a*x + b, c*y + d),做相反。由Leaflet在其投影代码中使用。

使用示例

var transformation = new 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)

方法

方法名 返回值 说明
transform(<Point> point, <Number> scale?) Point

返回转换点,可选地乘以给定的比例。只接受实际的L.Point实例而不是数组。

untransform(<Point> point, <Number> scale?) Point

返回给定点的反向变换,可选地除以给定的比例。只接受实际的L.Point实例而不是数组。

LineUtil

用于多点、折线处理的各种常用函数,由Leaflet内部使用。

方法

方法名 返回值 说明
simplify(<Point[]> points, <Number> tolerance) Point[] 使用Douglas-Peucker algorithm.算法, 减少折线中的显示的点数,同时保留其形状并返回一组新的简化点 。 用于在为每个缩放级别处理/显示线段时提供巨大的性能提升,并减少视觉噪音。 公差会影响简化的数量(较小的值意味着更高的质量,但更慢和更多的点)。 具体可以参考简化发布的Simplify.js
pointToSegmentDistance(<Point> p, <Point> p1, <Point> p2) Number 返回点之间的距离p和段p1来p2。
closestPointOnSegment(<Point> p, <Point> p1, <Point> p2) Number 返回从一个点的最近点p上的段p1来p2
clipSegment(<Point> a, <Point> b, <Bounds> bounds, <Boolean> useLastCode?, <Boolean> round?) Point[]|Boolean Cohen-Sutherland算法 (通过直接修改段点)将矩段a到b剪切成矩形边界 。仅显示屏幕上或附近的折线点,从而提高性能。

PolyUtil

多边形 的各种Util常用函数。

方法

方法名 返回值 说明
clipPolygon(<Point[]> points, <Bounds> bounds, <Boolean> round?) Point[] 剪切points由给定边界 给定的多边形几何(使用Sutherland-Hodgeman算法)。 Leaflet使用仅显示屏幕上或附近的多边形点,从而提高性能。 请注意,多边形点需要与折线不同的裁剪算法,因此有一个单独的处理方法。

DomEvent

用于DOM 事件的实用功能类,内部由Leaflet使用。

方法

的别名,兼容不同书写习惯
方法名 返回值 说明
on(<HTMLElement> el, <String> types, <Function> fn, <Object> context?) this 将一个监听器函数(fn)添加到元素的特定DOM事件类型el。您可以选择指定侦听器的context(this关键字将指向的对象)。 您还可以传递几个空格分隔的类型(例如'click dblclick')。
on(<HTMLElement> el, <Object> eventMap, <Object> context?) this 添加一组类型/侦听器 键值对,例如 {click: onClick, mousemove: onMouseMove}
off(<HTMLElement> el, <String> types, <Function> fn, <Object> context?) this 删除以前添加的监听器功能。如果没有指定函数,它将从元素中删除该特定DOM事件的所有侦听器。 请注意,如果您将自定义context传递给on,则必须将相同的上下文传递给以off删除该侦听器。
off(<HTMLElement> el, <Object> eventMap, <Object> context?) this 删除一组类型/监听器对,例如 {click: onClick, mousemove: onMouseMove}
stopPropagation(<DOMEvent> ev) this 将给定的事件传播停止冒泡到父元素。在侦听器功能中使用:
L.DomEvent.on(div, 'click', function (ev) {
    L.DomEvent.stopPropagation(ev);
});
disableScrollPropagation(<HTMLElement> el) this 添加stopPropagation到元素的'mousewheel'事件(更多的浏览器的变体)。
disableClickPropagation(<HTMLElement> el) this 添加stopPropagation到元素的'click','doubleclick', 'mousedown'和'touchstart'事件(更多的浏览器的变体).
preventDefault(<DOMEvent> ev) this 防止DOM事件的默认操作ev发生(例如在元素的href中跟随链接,或者在提交页面时重新加载POST请求<form> )。在侦听器功能中使用它。
stop(ev) this 在同一时间stopPropagation和preventDefault。
getMousePosition(<DOMEvent> ev, <HTMLElement> container?) Point container如果未指定,则从 DOM事件相对于整个页面获取归一化的鼠标位置 。
getWheelDelta(<DOMEvent> ev) Number 从滚轮DOM事件中获取变量增量,垂直像素滚动值(如果向下滚动则为负)。 没有精确滚动的指点设备的事件被映射到60像素的处理。
addListener() this L.DomEvent.on的别名,兼容不同书写习惯
removeListener()this L.DomEvent.off的别名,兼容不同书写习惯

DomUtil

DOM常用功能类,由Leaflet内部使用。 大多数函数返回的一个HTMLElement也适用于SVG元素。唯一的区别是类引用SVG中的HTML和SVG类中的CSS类。

方法

方法名 返回值 说明
get(<String|HTMLElement> id) HTMLElement 返回给定其DOM id的元素,如果直接传递元素本身,则返回该元素。
getStyle(<HTMLElement> el, <String> styleAttrib) String 返回元素上某个样式属性的值,包括通过CSS设置的计算值或值。
create(<String> tagName, <String> className?, <HTMLElement> container?) HTMLElement 创建一个HTML元素tagName,将其类设置为className,并可选地将其附加到container元素。
remove(<HTMLElement> el) 从其父元素中删除el
empty(<HTMLElement> el) 清空删除所有el的子元素
toFront(<HTMLElement> el) 使得el其父节点的最后孩子,所以它呈现在其他孩子面前。
toBack(<HTMLElement> el) 使得el其父节点的第一个孩子,所以它呈现从其他孩子回来。
hasClass(<HTMLElement> el, <String> name) Boolean 如果元素包含指定name的css类属性,则返回 true 。
addClass(<HTMLElement> el, <String> name) 添加name到元素的css类属性。
removeClass(<HTMLElement> el, <String> name) 从元素的css类属性中移除name的css。
setClass(<HTMLElement> el, <String> name) 设置元素的css类。
getClass(<HTMLElement> el) String 返回元素的css类。
setOpacity(<HTMLElement> el, <Number> opacity) 设置元素的不透明度(包括旧的IE支持)。 opacity必须从数量0到1。
testProp(<String[]> props) String|false 查看样式名称数组,并返回一个元素的有效样式名称的名字。如果没有找到这样的名称,则返回false。有用的供应商前缀的风格喜欢transform。
setTransform(<HTMLElement> el, <Point> offset, <Number> scale?) 重置3D CSS变换,el因此按offset像素进行翻译,并可选择按比例缩放scale。如果浏览器不支持3D CSS变换,则不起作用。
setPosition(<HTMLElement> el, <Point> position) 设置的位置el到由指定的坐标position,使用CSS翻译或顶部/左侧定位取决于浏览器(Leaflet内部使用以定位它的层)。
getPosition(<HTMLElement> el) Point 返回先前使用setPosition定位的元素的坐标。
disableTextSelection() 防止用户生成selectstartDOM事件,通常在用户拖动鼠标通过带有文本的页面时生成DOM事件。由Leaflet内部使用,以覆盖地图上任何点击和拖动交互的行为。影响整个文档的拖拽交互。
enableTextSelection() 取消之前 L.DomUtil.disableTextSelection的效果
disableImageDrag() 作为L.DomUtil.disableTextSelection,但是对于dragstartDOM事件,通常在用户拖动图像时生成。
enableImageDrag() 取消之前 L.DomUtil.disableImageDrag的效果
preventOutline(<HTMLElement> el) 使el元素的outline轮廓不可见。 由Leaflet内部使用,以防止当用户对它们执行拖动交互时,可聚焦元素显示轮廓。
restoreOutline() 取消之前 L.DomUtil.preventOutline的效果

属性

属性 参数类型 说明
TRANSFORM String Vendor前缀的转换样式名称(例如'webkitTransform'WebKit)。
TRANSITION String Vendor前缀转换样式名称。

PosAnimation

用于内部平移动画,利用现代浏览器的CSS3处理,IE6-9内部使用定时器进行处理。

使用示例

var fx = new L.PosAnimation();
fx.run(el, [300, 500], 0.5);

Constructor

构造函数 说明
L.PosAnimation() 创建一个 PosAnimation 对象。

事件

Event Data 说明
start Event 当动画启动时触发
step Event 在动画过程中连续播放。
end Event 动画结束时触发。

方法

方法名 返回值 说明
run(<HTMLElement> el, <Point> newPos, <Number> duration?, <Number> easeLinearity?)

运行给定元素的动画到一个新的位置,任选地设置持续时间秒(默认0.25)和宽松的线性因子 (三参数三次的Bezier曲线默认情况下0.5)。

stop()

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

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

将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。

on(<Object> eventMap) this

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

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

删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。

off(<Object> eventMap) this

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

off() this

删除绑定到对象上的所有事件。

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

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

listens(<String> type) Boolean

如果特定事件类型具有附加的侦听器,则返回true。

once() this

on(…)类似,区别在于监听器只执行1次,并且执行后自动释放。

addEventParent(<Evented> obj) this

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

removeEventParent(<Evented> obj) this

删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件

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

构造函数

构造函数 说明
L.Draggable(<HTMLElement> el, <HTMLElement> dragHandle?, <Boolean> preventOutline) 创建一个Draggable要移动的对象

Options参数选项

Option参数 参数类型 默认值 说明
clickTolerance Number 3 用户可以在点击期间移动鼠标指针的最大像素数被认为是有效的点击(而不是鼠标拖动)。

事件

Event Data 说明
down Event 当拖动即将开始时触发。
dragstart Event 当拖动开始时触发
predrag Event 在每次相应更新元素的位置之前, 在拖动期间连续触发。
drag Event 在拖动期间连续触发。
dragend DragEndEvent 当拖曳结束时触发。

方法

方法名 返回值 说明
enable()

启用拖动功能

disable()

禁用拖动功能

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

将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。

on(<Object> eventMap) this

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

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

删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。

off(<Object> eventMap) this

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

off() this

删除绑定到对象上的所有事件。

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

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

listens(<String> type) Boolean

如果特定事件类型具有附加的侦听器,则返回true。

once() this

on(…)类似,区别在于监听器只执行1次,并且执行后自动释放。

addEventParent(<Evented> obj) this

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

removeEventParent(<Evented> obj) this

删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件

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;
    // class constructor
},
greet: function (name) {
    alert(this.greeter + ', ' + name)
    }
});
// create instance of MyClass, passing "Hello" to the constructor
var a = new MyClass("Hello");
// call greet method, alerting "Hello, World"
a.greet("World");

类工厂方法

您可能已经注意到,Leaflet对象是在不使用new关键字的情况下创建的。这是通过使用同字母小写的方法来补充每个类来实现的:

new L.Map('map'); // becomes:
L.map('map');

该工厂类方法非常简单,您可以为自己的类做这样的定义:

L.map = function (id, options) {
    return new L.Map(id, options);
};

继承

您使用L.Class.extend来定义新的类,但是您可以使用相同的方法继承任何类:

var MyChildClass = MyClass.extend({
    // ... new properties and methods
});

这将创建一个继承父类(通过适当的原型链)的所有方法和属性的类,添加或覆盖您传递的扩展。它也将适用于instanceof:

var a = new MyChildClass();
a instanceof MyChildClass; // true
a instanceof MyClass; // true

您可以通过访问父类原型并使用JavaScript的调用或应用来调用相应子对象的父方法(包括构造函数)(与使用其他语言的super调用一样):

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}

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'

构造函数钩子

如果您是插件开发人员,您通常需要向现有类添加其他初始化代码(例如L.Polyline编辑钩子)。 Leaflet有一个方法可以轻松地使用addInitHook方法:

MyClass.addInitHook(function () {
    // ... do something in constructor additionally
    // e.g. add event listeners, set custom properties etc.
});

您还可以使用以下快捷方式,只需要进行一个额外的方法调用:

MyClass.addInitHook('methodName', arg1, arg2, …);

方法

方法名 返回值 说明
extend(<Object> props) Function 给定要包含的属性的当前类扩展。返回一个Javascript函数,它是一个类构造函数(要调用new)。
include(<Object> properties) this include一个对象到当前类。
mergeOptions(<Object> options) this 合并options为类的默认值。
addInitHook(<Function> fn) this 向类添加一个构造函数钩子。

Evented

在事件驱动的类之间共享的一组方法(如MapMarker)。 一般情况下,事件允许您在对象发生某些事情时执行某些功能(例如,用户点击地图,导致地图触发'click'事件)。

使用示例

map.on('click', function(e) {
    alert(e.latlng);
} );

Leaflet通过引用处理事件侦听器,因此如果要添加侦听器,然后将其删除,请将其定义为函数:

function onClick(e) { ... }
map.on('click', onClick);
map.off('click', onClick);

方法

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

将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。

on(<Object> eventMap) this

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

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

删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。

off(<Object> eventMap) this

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

off() this

删除绑定到对象上的所有事件。

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

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

listens(<String> type) Boolean

如果特定事件类型具有附加的侦听器,则返回true。

once() this

on(…)类似,区别在于监听器只执行1次,并且执行后自动释放。

addEventParent(<Evented> obj) this

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

removeEventParent(<Evented> obj) this

删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件

addEventListener() this

on(…)的别名,兼容不同用户的命名习惯

removeEventListener() this

off(…)的别名,兼容不同用户的命名习惯

clearAllEventListeners() this

off()的别名,兼容不同用户的命名习惯

addOneTimeEventListener() this

once(…)的别名,兼容不同用户的命名习惯

fireEvent() this

fire(…)的别名,兼容不同用户的命名习惯

hasEventListeners() Boolean

listens(…)的别名,兼容不同用户的命名习惯

Layer

所有Leaflet层使用的基类。继承L.Evented所有方法,选项和事件.

使用示例

var layer = L.Marker(latlng).addTo(map);
layer.addTo(map);
layer.remove();

Options参数选项

Option参数 参数类型 默认值 说明
pane String 'overlayPane' 默认情况下,图层将添加到地图的overlay pane中。 覆盖此选项将该图层放置在另一个窗格上。
attribution String null 要在attribution版权控件中显示的字符串,描述层数据,例如:“©Mapbox”。

事件

Event Data 说明
add Event 在图层加到地图之后触发
remove Event 在图层从地图上移除是触发

Popup弹窗相关事件

Event Data 说明
popupopen PopupEvent 当弹窗绑定在这个图层上并打开时触发
popupclose PopupEvent 当弹窗绑定在这个图层上并关闭时触发

Tooltip鼠标悬停提示框相关事件

Event Data 说明
tooltipopen TooltipEvent 当Tooltip提示框绑定在这个图层上并打开时触发
tooltipclose TooltipEvent 当Tooltip提示框绑定到这个图层并关闭时触发.

方法

扩展类L.Layer将继承以下方法:
方法名 返回值 说明
addTo(<Map> map) this

将图层添加到给定的地图

remove() this

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

removeFrom(<Map> map) this

从给定的地图上移除图层

getPane(<String> name?) HTMLElement

返回指定Pane窗格的HTMLElement对象。如果name省略,则返回此图层所在的Pane窗格。

getAttribution() String

用于attribution control,返回attribution参数.

扩展方法

每个继承L.Layer的层都应该继承后重写以下方法
方法名 返回值 说明
onAdd(<Map> map) this

应该包含为图层创建DOM元素的代码,将它们添加到map panes应该属于的位置,并将侦听器放在相关的地图事件上 应用在map.addLayer(layer).

onRemove(<Map> map) this

应该包含所有清理代码,从DOM中删除图层的元素,并删除之前添加的侦听器onAdd。 应用在 map.removeLayer(layer).

getEvents() Object

这个可选的方法应该返回一个对象一样{ viewreset: this._reset }addEventListener。该对象中的事件处理程序将自动添加并从图层中删除。

getAttribution() String

这个可选方法应该返回一个包含HTML的字符串,以便Attribution control在图层可见时显示。

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方法被传递,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindPopup() this

移除当前通过bindpopup方法绑定的弹窗

openPopup(<LatLng> latlng?) this

在特定的位置打开弹窗,如果latlng没有设置则在默认的所在位置打开。

closePopup() this

关闭打开的弹窗

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

将工具提示绑定到已传递的层content并设置必需的事件侦听器。如果是传入一个Function方法做参数,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindTooltip() this

移除之前通过bindTooltip方法绑定的提示框

openTooltip(<LatLng> latlng?) this

在特定的位置打开绑定的提示框,如果位置没有设置,则在默认的位置打开。

closeTooltip() this

如果提示框是打开的,则关闭绑定到图层的提示框.

toggleTooltip() this

根据当前的提示框状态来确定是打开还是关闭绑定到图层的提示框.

isTooltipOpen() boolean

如果当前绑定到图层的提示框是打开的,则返回true

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

设置当前绑定到图层的提示框的内容

getTooltip() Tooltip

返回当前绑定到图层的提示框

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

将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。

on(<Object> eventMap) this

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

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

删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。

off(<Object> eventMap) this

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

off() this

删除绑定到对象上的所有事件。

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

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

listens(<String> type) Boolean

如果特定事件类型具有附加的侦听器,则返回true。

once() this

on(…)类似,区别在于监听器只执行1次,并且执行后自动释放。

addEventParent(<Evented> obj) this

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

removeEventParent(<Evented> obj) this

删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件

addEventListener() this

on(…)的别名,兼容不同用户的命名习惯

removeEventListener() this

off(…)的别名,兼容不同用户的命名习惯

clearAllEventListeners() this

off()的别名,兼容不同用户的命名习惯

addOneTimeEventListener() this

once(…)的别名,兼容不同用户的命名习惯

fireEvent() this

fire(…)的别名,兼容不同用户的命名习惯

hasEventListeners() Boolean

listens(…)的别名,兼容不同用户的命名习惯

Interactive layer 互动层

有些Layer可以被做成交互式的 - 当用户与这样的层交互时,类似click并且mouseover可以被处理的鼠标事件。使用event handling methods 来处理这些事件。

Options参数选项

Option参数 参数类型 默认值 说明
interactive Boolean true 如果false,该层不会发出鼠标事件,并且将作为底层地图的一部分。
Option参数 参数类型 默认值 说明
pane String 'overlayPane' 默认情况下,图层将添加到地图的 overlay pane. 中。覆盖此选项将导致默认情况下将该图层放置在另一个窗格上。
attribution String null 在attribution版权控件中展示的字符串,描述图层的版权信息(例如:"© Mapbox")

事件

Mouse events

Event Data 说明
click MouseEvent 当用户单击(or taps)地图时触发
dblclick MouseEvent 当用户双击(or double-taps)地图时触发
mousedown MouseEvent 当用户在图层上按下鼠标按钮时触发
mouseover MouseEvent 当鼠标进入图层时触发
mouseout MouseEvent 当鼠标离开图层时触发
contextmenu MouseEvent 当用户右键单击图层时触发,如果此事件上有侦听器,则会阻止默认的浏览器上下文菜单显示。当用户持有一次触摸(也称为长按)时,也会在手机上触发。
Event Data 说明
add Event 在图层添加到地图上之后触发
remove Event 在图层从地图上移除之后触发
Event Data 说明
popupopen PopupEvent 当绑定到当前图层的Popup弹窗打开时触发
popupclose PopupEvent 当绑定到当前图层的Popup弹窗关闭时触发
Event Data 说明
tooltipopen TooltipEvent 当Tooltip提示框绑定到这个图层并打开时触发
tooltipclose TooltipEvent 当Tooltip提示框绑定到这个图层并关闭时触发.

方法

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

将图层添加到给定的地图

remove() this

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

removeFrom(<Map> map) this

从给定的地图上移除图层

getPane(<String> name?) HTMLElement

返回指定Pane窗格的HTMLElement对象。如果name省略,则返回此图层所在的Pane窗格。

getAttribution() String

用于attribution control,返回attribution参数.

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

将弹出窗口绑定到已传递的层,content并设置必要的事件侦听器。如果参数是一个Function方法被传递,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindPopup() this

移除当前通过bindpopup方法绑定的弹窗

openPopup(<LatLng> latlng?) this

在特定的位置打开弹窗,如果latlng没有设置则在默认的所在位置打开。

closePopup() this

关闭打开的弹窗

togglePopup() this

根据弹窗现在的状态来打开或关闭绑定到图层上的弹窗.

isPopupOpen() boolean

如果当前绑定的弹窗是打开的,则返回true

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

如设定绑定在图层上的弹窗的内容.

getPopup() Popup

返回当前绑定在图层上的弹窗.

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

将工具提示绑定到已传递的层content并设置必需的事件侦听器。如果是传入一个Function方法做参数,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindTooltip() this

移除之前通过bindTooltip方法绑定的提示框

openTooltip(<LatLng> latlng?) this

在特定的位置打开绑定的提示框,如果位置没有设置,则在默认的位置打开。

closeTooltip() this

如果提示框是打开的,则关闭绑定到图层的提示框.

toggleTooltip() this

根据当前的提示框状态来确定是打开还是关闭绑定到图层的提示框.

isTooltipOpen() boolean

如果当前绑定到图层的提示框是打开的,则返回true

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

设置当前绑定到图层的提示框的内容

getTooltip() Tooltip

返回当前绑定到图层的提示框

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

将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。

on(<Object> eventMap) this

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

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

删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。

off(<Object> eventMap) this

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

off() this

删除绑定到对象上的所有事件。

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

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

listens(<String> type) Boolean

如果特定事件类型具有附加的侦听器,则返回true。

once() this

on(…)类似,区别在于监听器只执行1次,并且执行后自动释放。

addEventParent(<Evented> obj) this

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

removeEventParent(<Evented> obj) this

删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件

addEventListener() this

on(…)的别名,兼容不同用户的命名习惯

removeEventListener() this

off(…)的别名,兼容不同用户的命名习惯

clearAllEventListeners() this

off()的别名,兼容不同用户的命名习惯

addOneTimeEventListener() this

once(…)的别名,兼容不同用户的命名习惯

fireEvent() this

fire(…)的别名,兼容不同用户的命名习惯

hasEventListeners() Boolean

listens(…)的别名,兼容不同用户的命名习惯

Control

L.Control 是实现地图控件的基础类。所有其他地图控件从此类扩展。

Options参数选项

Option参数 参数类型 默认值 说明
position String 'topright' 控件的位置(显示在地图的四角)。可选值有: 'topleft', 'topright', 'bottomleft''bottomright'

方法

扩展L.Control的类将继承以下方法:
方法名 返回值 说明
getPosition() string

返回控件的位置。

setPosition(<string> position) this

设置控件的位置。

getContainer() HTMLElement

返回包含控件的HTMLElement。

addTo(<Map> map) this

将控件添加到给定的地图。类同于map.addControl(val)

remove() this

从当前活动的地图中移除控件。类同于map.removeControl(val)

扩展方法

每个控件应该从 L.Control 和 (re-)重新执行以下方法。
方法名 返回值 说明
onAdd(<Map> map) HTMLElement

应该返回控件的容器DOM元素,并在相关的地图事件上添加侦听器。并执行 control.addTo(map).

onRemove(<Map> map)

可选方法。应该包含所有清理代码,删除之前添加的监听器onAdd。 并执行 control.remove().

Handler

地图交互处理程序的抽象类

方法

方法名 返回值 说明
enable() this

启用处理程序

disable() this

禁用处理程序

enabled() Boolean

如果处理程序启用,则返回true

扩展方法

继承 Handler的类 必须实现以下两种方法:
方法名 返回值 说明
addHooks()

调用处理程序启用时,应该添加事件钩子。

removeHooks()

调用处理程序被禁用时,应该删除之前添加的事件钩子。

Projection

具有将世界地理坐标投影到平面上的方法的类。具体请查看 地图投影.

方法

方法名 返回值 说明
project(<LatLng> latlng) Point

将地理坐标设计成2D点。只接受实际的L.LatLng实例而不是数组。

unproject(<Point> point) LatLng

project 的逆向操作。 将2D点投影到地理位置。只接受实际的L.Point实例而不是数组。

属性

属性 参数类型 说明
bounds Bounds 投影有效的范围(CRS中指定)

预定义投影

Leaflet附带一套已经定义的投影坐标系,你可以直接使用:
Projection 说明
L.Projection.LonLat 等角或板卡里投影 - 最简单的投影,主要由GIS爱好者使用。 直接映射x为经度和y纬度。也适用于平面世界,例如游戏地图。由EPSG:3395和SimpleCRS使用。
L.Projection.Mercator 椭圆形墨卡托投影 - 比球形墨卡托更复杂。考虑到地球是大地水准面,而不是一个完美的球体。由EPSG使用:3395 CRS。
L.Projection.SphericalMercator 球形墨卡托投影 - 是几乎所有免费和商业瓷砖供应商使用的在线地图最常见的投影。假设地球是一个球体。由EPSG:3857CRS使用。

CRS

抽象类,用于定义坐标参考系统,用于将地理点投影到像素(屏幕)坐标 (以及在WMS服务的spatial reference system)。 Leaflet默认定义了最常见的CRS。如果要使用其他的CRS,请查看Proj4Leaflet 插件。

方法

方法名 返回值 说明
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

project方法逆操作. 给定一个投影坐标返回相应的LatLng。

scale(<Number> zoom) Number

返回将投影坐标转换​​为特定缩放的像素坐标时使用的缩放比例。例如,它返回 256 * 2^zoom给基于墨卡托的CRS。

zoom(<Number> scale) Number

scale()方法逆操作, 返回与比例因子对应的缩放级别scale。

getProjectedBounds(<Number> zoom) Bounds

返回所提供的投影的边界的缩放和变换zoom。

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

返回两个地理坐标之间的距离

wrapLatLng(<LatLng> latlng) LatLng

如果它们在CRS的边界之外,则 返回一个根据CRS wrapLat和wrapLng属性被包装的 LatLng 位置。只接受实际的L.LatLng 实例而不是数组。

wrapLatLngBounds(<LatLngBounds> bounds) LatLngBounds

返回与给定的大小相同的大小LatLngBounds,确保其中心在CRS的边界内。 只接受实际的L.LatLngBounds实例而不是数组。

属性

属性 参数类型 说明
code String 传入WMS服务的CRS的标准代码名称(例如'EPSG:3857')
wrapLng Number[] 两个数字的数组,用于定义经度(水平)坐标轴是否包围给定范围以及如何。默认为[-180, 180]大多数地理CRS。如果undefined,经度轴不会缠绕。
wrapLat Number[] 类似wrapLng,但是对于纬度(垂直)轴。
infinite Boolean 如果为真,则坐标空间将无限制(两轴均无限制)

内部预定义的CRS

CRS 说明
L.CRS.Earth 作为其他全球性的CRS的基础,使其覆盖地球。 只能用作其他CRS的基础,不能直接使用,因为它没有code,projection或transformation。distance()返回数值(米)。
L.CRS.EPSG3395 一些商业地图供应商很少使用。使用椭圆形墨卡托投影。
L.CRS.EPSG3857 球形墨卡托投影。用于在线地图的最常见的CRS,几乎当前所有的免费和商业地图供应商都使用。 是地图crs option 中的默认值。
L.CRS.EPSG4326 WGS84坐标系。使用简单的等角投影。符合EPSG:4326标准的坐标系。 如果您正在使用TileLayer此CRS,请确保在缩放级别为零时覆盖整个地球的两个256x256像素图块, 并且图块坐标原点为(-180,+ 90)或(-180,-90),TileLayers的的the tms option 设置。
L.CRS.Simple 一个简单的CRS,将经度和纬度映射到x和y直接。 可用于平面地图(如游戏地图)。请注意,y 轴应该是反转的(从底部到顶部)。distance()返回简单的欧几里德距离。

Renderer

矢量渲染器( SVG, Canvas)实现的基类。 不要直接使用这个类,使用SVG和Canvas替代。 处理渲染器的DOM容器,其边界及其缩放动画。一个Renderer作为所有Paths 的隐式层组- 渲染器本身可以添加或删除到地图。 所有路径都使用渲染器,它可以是隐式的(映射将决定渲染器的类型并自动使用)或显式(使用renderer选项的路径)。

Options参数选项

Option参数 参数类型 默认值 说明
padding Number 0.1 扩展地图视图周围的剪辑区域(相对于其大小),例如0.1将是每个方向的地图视图的10%
Option参数 参数类型 默认值 说明
pane String 'overlayPane' 默认情况下,图层将添加到地图的 overlay pane. 中。覆盖此选项将导致默认情况下将该图层放置在另一个窗格上。
attribution String null 在attribution版权控件中展示的字符串,描述图层的版权信息(例如:"© Mapbox")

事件

Event Data 说明
update Event 当渲染器更新其边界,中心和缩放时,例如当其地图已移动时触发
Event Data 说明
add Event 在图层添加到地图上之后触发
remove Event 在图层从地图上移除之后触发
Event Data 说明
popupopen PopupEvent 当绑定到当前图层的Popup弹窗打开时触发
popupclose PopupEvent 当绑定到当前图层的Popup弹窗关闭时触发
Event Data 说明
tooltipopen TooltipEvent 当Tooltip提示框绑定到这个图层并打开时触发
tooltipclose TooltipEvent 当Tooltip提示框绑定到这个图层并关闭时触发.

方法

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

将图层添加到给定的地图

remove() this

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

removeFrom(<Map> map) this

从给定的地图上移除图层

getPane(<String> name?) HTMLElement

返回指定Pane窗格的HTMLElement对象。如果name省略,则返回此图层所在的Pane窗格。

getAttribution() String

用于attribution control,返回attribution参数.

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

将弹出窗口绑定到已传递的层,content并设置必要的事件侦听器。如果参数是一个Function方法被传递,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindPopup() this

移除当前通过bindpopup方法绑定的弹窗

openPopup(<LatLng> latlng?) this

在特定的位置打开弹窗,如果latlng没有设置则在默认的所在位置打开。

closePopup() this

关闭打开的弹窗

togglePopup() this

根据弹窗现在的状态来打开或关闭绑定到图层上的弹窗.

isPopupOpen() boolean

如果当前绑定的弹窗是打开的,则返回true

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

如设定绑定在图层上的弹窗的内容.

getPopup() Popup

返回当前绑定在图层上的弹窗.

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

将工具提示绑定到已传递的层content并设置必需的事件侦听器。如果是传入一个Function方法做参数,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindTooltip() this

移除之前通过bindTooltip方法绑定的提示框

openTooltip(<LatLng> latlng?) this

在特定的位置打开绑定的提示框,如果位置没有设置,则在默认的位置打开。

closeTooltip() this

如果提示框是打开的,则关闭绑定到图层的提示框.

toggleTooltip() this

根据当前的提示框状态来确定是打开还是关闭绑定到图层的提示框.

isTooltipOpen() boolean

如果当前绑定到图层的提示框是打开的,则返回true

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

设置当前绑定到图层的提示框的内容

getTooltip() Tooltip

返回当前绑定到图层的提示框

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

将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。

on(<Object> eventMap) this

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

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

删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。

off(<Object> eventMap) this

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

off() this

删除绑定到对象上的所有事件。

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

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

listens(<String> type) Boolean

如果特定事件类型具有附加的侦听器,则返回true。

once() this

on(…)类似,区别在于监听器只执行1次,并且执行后自动释放。

addEventParent(<Evented> obj) this

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

removeEventParent(<Evented> obj) this

删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件

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 触发事件的对象

KeyboardEvent

属性 参数类型 说明
originalEvent DOMEvent 触发此事件的原始 DOM KeyboardEvent
属性 参数类型 说明
type String 事件的类型
target Object 触发事件的对象

MouseEvent

属性 参数类型 说明
latlng LatLng 鼠标事件发生的地理位置点
layerPoint Point 鼠标事件相对于地图图层发生的点的坐标
containerPoint Point 鼠标事件相对于地图容器发生的点的坐标
originalEvent DOMEvent 触发此事件的原始 DOM MouseEventDOM TouchEvent
属性 参数类型 说明
type String 事件的类型
target Object 触发事件的对象

LocationEvent

属性 参数类型 说明
latlng LatLng 检测到用户的地理位置。
bounds LatLngBounds 区域用户的地理位置位于(相对于位置的准确性)
accuracy Number 位置精度(单位:米 )。
altitude Number WGS84椭圆上方位置的高度(米)。
altitudeAccuracy Number 海拔高度(单位:米 )。
heading Number 从正北方向顺时针方向行驶的方向。
speed Number 当前速度(以米为单位)。
timestamp Number 获得定位的时间.
属性 参数类型 说明
type String 事件的类型
target Object 触发事件的对象

ErrorEvent

属性 参数类型 说明
message String 错误的信息
code Number 错误代码(如果适用)。
属性 参数类型 说明
type String 事件的类型
target Object 触发事件的对象

LayerEvent

属性 参数类型 说明
layer Layer 增加或者移除的图层
属性 参数类型 说明
type String 事件的类型
target Object 触发事件的对象

LayersControlEvent

属性 参数类型 说明
layer Layer 增加或者移除的图层
name String 增加或者移除的图层
属性 参数类型 说明
type String 事件的类型
target Object 触发事件的对象

TileEvent

属性 参数类型 说明
tile HTMLElement 瓦片元素(图像)。
coords Point 点对象与图块的x,y和和z(缩放级别)坐标。
属性 参数类型 说明
type String 事件的类型
target Object 触发事件的对象

TileErrorEvent

属性 参数类型 说明
tile HTMLElement 瓦片元素(图像)
coords Point 点对象与图块的x,y和和z(缩放级别)坐标。
error * 错误时,传递给瓦片的done()回调。
属性 参数类型 说明
type String 事件的类型
target Object 触发事件的对象

ResizeEvent

属性 参数类型 说明
oldSize Point 在调整大小的事件发生之前的大小
newSize Point 在调整大小事件发生之后的大小
属性 参数类型 说明
type String 事件的类型
target Object 触发事件的对象

GeoJSONEvent

属性 参数类型 说明
layer Layer 要添加到地图的GeoJSON功能的图层。
properties Object GeoJSON的属性properties值。
geometryType String GeoJSON几何类型的特征。
id String GeoJSON功能的ID(如果存在)。
属性 参数类型 说明
type String 事件的类型
target Object 触发事件的对象

PopupEvent

属性 参数类型 说明
popup Popup 打开或者关闭的Popup弹窗.
属性 参数类型 说明
type String 事件的类型
target Object 触发事件的对象

TooltipEvent

属性 参数类型 说明
tooltip Tooltip 打开或者关闭的Tooltip提示栏
属性 参数类型 说明
type String 事件的类型
target Object 触发事件的对象

DragEndEvent

属性 参数类型 说明
distance Number 可拖动元素移动的距离(以像素为单位)。
属性 参数类型 说明
type String 事件的类型
target Object 触发事件的对象

ZoomAnimEvent

属性 参数类型 说明
center LatLng 地图当前的中心
zoom Number 地图当前的缩放级别
noUpdate Boolean 由于此事件,图层是否应更新其内容
属性 参数类型 说明
type String 事件的类型
target Object 触发事件的对象

DivOverlay

L.Popup和L.Tooltip的基本模型。继承自定义弹出窗口如插件。

Options参数选项

Option参数 参数类型 默认值 说明
offset Point Point(0, 7) 弹出位置的偏移量。用于在某些叠加层上打开弹出窗口时控制该锚点。
className String '' 要分配给弹出窗口的自定义CSS类名称。
pane String 'popupPane' 指定添加popup弹窗至地图的pane窗格名称
Option参数 参数类型 默认值 说明
attribution String null 在attribution版权控件中展示的字符串,描述图层的版权信息(例如:"© Mapbox")

事件

Event Data 说明
add Event 在图层添加到地图上之后触发
remove Event 在图层从地图上移除之后触发
Event Data 说明
popupopen PopupEvent 当绑定到当前图层的Popup弹窗打开时触发
popupclose PopupEvent 当绑定到当前图层的Popup弹窗关闭时触发
Event Data 说明
tooltipopen TooltipEvent 当Tooltip提示框绑定到这个图层并打开时触发
tooltipclose TooltipEvent 当Tooltip提示框绑定到这个图层并关闭时触发.

方法

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

将图层添加到给定的地图

remove() this

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

removeFrom(<Map> map) this

从给定的地图上移除图层

getPane(<String> name?) HTMLElement

返回指定Pane窗格的HTMLElement对象。如果name省略,则返回此图层所在的Pane窗格。

getAttribution() String

用于attribution control,返回attribution参数.

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

将弹出窗口绑定到已传递的层,content并设置必要的事件侦听器。如果参数是一个Function方法被传递,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindPopup() this

移除当前通过bindpopup方法绑定的弹窗

openPopup(<LatLng> latlng?) this

在特定的位置打开弹窗,如果latlng没有设置则在默认的所在位置打开。

closePopup() this

关闭打开的弹窗

togglePopup() this

根据弹窗现在的状态来打开或关闭绑定到图层上的弹窗.

isPopupOpen() boolean

如果当前绑定的弹窗是打开的,则返回true

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

如设定绑定在图层上的弹窗的内容.

getPopup() Popup

返回当前绑定在图层上的弹窗.

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

将工具提示绑定到已传递的层content并设置必需的事件侦听器。如果是传入一个Function方法做参数,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindTooltip() this

移除之前通过bindTooltip方法绑定的提示框

openTooltip(<LatLng> latlng?) this

在特定的位置打开绑定的提示框,如果位置没有设置,则在默认的位置打开。

closeTooltip() this

如果提示框是打开的,则关闭绑定到图层的提示框.

toggleTooltip() this

根据当前的提示框状态来确定是打开还是关闭绑定到图层的提示框.

isTooltipOpen() boolean

如果当前绑定到图层的提示框是打开的,则返回true

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

设置当前绑定到图层的提示框的内容

getTooltip() Tooltip

返回当前绑定到图层的提示框

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

将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。

on(<Object> eventMap) this

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

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

删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。

off(<Object> eventMap) this

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

off() this

删除绑定到对象上的所有事件。

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

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

listens(<String> type) Boolean

如果特定事件类型具有附加的侦听器,则返回true。

once() this

on(…)类似,区别在于监听器只执行1次,并且执行后自动释放。

addEventParent(<Evented> obj) this

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

removeEventParent(<Evented> obj) this

删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件

addEventListener() this

on(…)的别名,兼容不同用户的命名习惯

removeEventListener() this

off(…)的别名,兼容不同用户的命名习惯

clearAllEventListeners() this

off()的别名,兼容不同用户的命名习惯

addOneTimeEventListener() this

once(…)的别名,兼容不同用户的命名习惯

fireEvent() this

fire(…)的别名,兼容不同用户的命名习惯

hasEventListeners() Boolean

listens(…)的别名,兼容不同用户的命名习惯

Global Switches

Global switches 是为少数情况而创建的,通常会使Leaflet无法检测到特定的浏览器功能,即使它在那里。 在将页面上包含Leaflet之前,需要将开关设置为全局变量为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 points to some other library -->
<script src='leaflet.js'>
<!-- you include Leaflet, it replaces the L variable to Leaflet namespace -->
<script>
var Leaflet = L.noConflict();
// now L points to that other library again, and you can use Leaflet.Map etc.
</script>

version

一个常数,表示正在使用的 leaflet版本。

L.version; // contains "1.0.3" (or whatever version is currently in use)