麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

Leaflet API - 地图(Map) 中文文档

本文介绍下 Leaflet 中 地图 API的详细使用说明。

地图 API 调用方法

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

使用示例

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

创建对象

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

Options 选项

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

控件选项

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

交互选项

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

地图状态选项

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

动画选项

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

Panning Inertia 选项

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

按键导航选项

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

鼠标选项

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

触摸交互选项

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

事件

图层事件

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

地图状态变更事件

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

Popup 弹窗事件

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

Tooltip 工具提示事件

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

Location 定位相关事件

事件名 数据 说明
locationerror ErrorEvent 当获取地理位置(使用 locate 方法)失败时触发。
locationfound LocationEvent 当获取地理位置(使用 locate 方法)成功时触发。

交互事件

事件名 数据 说明
click MouseEvent 当用户点击地图时触发。
dblclick MouseEvent 当用户双击地图时触发。
mousedown MouseEvent 当用户在地图上按下鼠标按钮时触发。
mouseup MouseEvent 当用户释放地图上的鼠标按钮时触发。
mouseover MouseEvent 当鼠标进入地图时触发。
mouseout MouseEvent 当鼠标离开地图时触发。
mousemove MouseEvent 当鼠标在地图上移动时触发。
contextmenu MouseEvent 当用户在地图上按下鼠标右键时触发,从而阻止默认浏览器上下文菜单显示,如果此事件上有侦听器。 当用户长按时,也会在移动设备上触发。
keypress KeyboardEvent 当用户在聚焦地图时按下键盘上输入字符时触发。
keydown KeyboardEvent 当地图聚焦时用户按下键盘上的键时触发。 与keypress事件不同,对于产生字符值的键和不产生字符值的键都会触发keydown事件。
keyup KeyboardEvent 当用户在地图被聚焦时从键盘上释放一个按键时触发。
preclick MouseEvent 在鼠标点击地图之前触发(当你希望在点击事件触发之前执行某些操作时可以使用)。

其它事件

事件名 数据 说明
zoomanim ZoomAnimEvent 每个缩放动画至少触发一次。 对于连续缩放(如捏合缩放),在缩放过程中每帧触发一次。

方法

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

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

图层和控件

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

添加控件到地图上

removeControl(<Control> control) this

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

addLayer(<Layer> layer) this

添加图层到地图上

removeLayer(<Layer> layer) this

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

hasLayer(<Layer> layer) Boolean

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

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

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

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

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

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

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

closePopup(<Popup> popup?) this

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

openTooltip(<Tooltip> tooltip) this

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

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

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

closeTooltip(<Tooltip> tooltip) this

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

修改地图状态

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

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

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

设置地图的缩放级别。

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

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

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

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

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

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

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

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

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

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

fitWorld(<fitBounds options> options?) this

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

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

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

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

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

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

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

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

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

setMaxBounds(<LatLngBounds> bounds) this

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

setMinZoom(<Number> zoom) this

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

setMaxZoom(<Number> zoom) this

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

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

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

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

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

invalidateSize(<Zoom/pan options> options) this

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

invalidateSize(<Boolean> animate) this

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

stop() this

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

地理定位

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

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

stopLocate() this

停止监视先前由 map.locate({watch:true})初始化的位置,如果调用 map.locate 时设置了 {setView:true},则放弃重置地图视图。

其它

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

给定其名称和构造函数,将新的 Handler 添加到地图。

remove() this

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

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

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

getPane(<String|HTMLElement> pane) HTMLElement

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

getPanes() Object

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

getContainer() HTMLElement

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

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

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

获取地图状态

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

返回地图中心点的经纬度

getZoom() Number

返回地图此时的缩放级别

getBounds() LatLngBounds

返回当前地图的矩形边界

getMinZoom() Number

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

getMaxZoom() Number

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

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

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

getSize() Point

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

getPixelBounds() Bounds

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

getPixelOrigin() Point

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

getPixelWorldBounds(<Number> zoom?) Bounds

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

转换

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

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

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

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

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

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

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

逆向 project

layerPointToLatLng(<Point> point) LatLng

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

latLngToLayerPoint(<LatLng> latlng) Point

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

wrapLatLng(<LatLng> latlng) LatLng

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

wrapLatLngBounds(<LatLngBounds> bounds) LatLngBounds

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

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

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

containerPointToLayerPoint(<Point> point) Point

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

layerPointToContainerPoint(<Point> point) Point

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

containerPointToLatLng(<Point> point) LatLng

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

latLngToContainerPoint(<LatLng> latlng) Point

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

mouseEventToContainerPoint(<MouseEvent> ev) Point

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

mouseEventToLayerPoint(<MouseEvent> ev) Point

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

mouseEventToLatLng(<MouseEvent> ev) LatLng

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

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

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

on(<Object> eventMap) this

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

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

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

off(<Object> eventMap) this

删除一组 type/listener。

off() this

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

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

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

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

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

once() this

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

addEventParent(<Evented> obj) this

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

removeEventParent(<Evented> obj) this

删除父级事件,因此它将停止接收传播的事件

addEventListener() this

on(…)

removeEventListener() this

off(…)

clearAllEventListeners() this

off()

addOneTimeEventListener() this

once(…)

fireEvent() this

fire(…)

hasEventListeners() Boolean

listens(…)

Properties 属性

Controls 控件

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

Handlers 处理程序

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

Map panes 地图窗格

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

Locate options 定位选项

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

Zoom options 缩放选项

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

Pan options 平移选项

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

Zoom/pan options 缩放/平移选项

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

Padding 选项

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

FitBounds 选项

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

其他API

Leaflet中文API文档手机(v.19版本)参考:《Leaflet中文API文档手机(v.19版本)

相关阅读

麻辣GIS-Sailor

作者:

GIS爱好者,学GIS,更爱玩GIS。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子
没有上文

留言板(小编看到第一时间回复)