1、初始化
L.map(<String> id , options ?) //用地图div的id创建
L.map(<HTMLElement>el , options?) //用地图div的name创建
// 简单示例
// initialize the map on the "map" div with a given center and zoom
var map = L.map('map', {
center: [51.505, -0.09],
zoom: 13
});
2、参数
a.控件选项
选择  | 类型  | 默认  | 描述  | 
attributionControl  | Boolean  | true  | 地图右下角的信息说明控件。  | 
zoomControl  | Boolean  | true  | 左上角的缩放控件。  | 
b.交互选项
选择  | 类型  | 默认  | 描述  | 
closePopupOnClick  | Boolean  | true  | 如果点击(click)地图时不想Popup被关闭,把该参数设置为false  | 
boxZoom  | Boolean  | true  | 地图是否可以缩放到由指定的矩形区域,这个区域是你按住SHIFT同时拖动鼠标在地图上画的一个矩形区域  | 
doubleClickZoom  | Boolean|String  | true  | 是否允许双击鼠标进行放大,按住SHIFT双击鼠标缩小,默认true;如果将该参数值设置为'center',则缩放时会固定以view的中心为中心进行缩放,不随鼠标的位置变化而变化  | 
dragging  | Boolean  | true  | 地图是否可通过鼠标/触摸拖动。  | 
zoomSnap  | Number  | 1  | 强制地图的缩放后地图等级始终为这个参数的倍数,对fitBounds()方法作用很大  | 
zoomDelta  | Number  | 1  | 每次缩放的倍数。  | 
trackResize  | Boolean  | true  | 地图是否自动处理浏览器窗口大小调整以自行更新。  | 
c.平移惯性选项
选择  | 类型  | 默认  | 描述  | 
inertia  | Boolean  | *  | 如果启用,地图平移将产生惯性效应,其中 地图在拖动时建立动力并继续移动 一段时间内方向相同。触感特别好 设备。默认启用。  | 
inertiaDeceleration  | Number  | 3000  | 惯性运动减慢的速率,以像素/秒²为单位。  | 
inertiaMaxSpeed  | Number  | Infinity  | 惯性运动的最大速度,以像素/秒为单位。  | 
easeLinearity  | Number  | 0.2  | |
worldCopyJump  | Boolean  | false  | 启用此选项后,当您平移到另一个“副本”时,地图将进行追踪 并无缝跳转到原始世界,以便所有叠加 像标记和矢量层仍然可见。  | 
maxBoundsViscosity  | Number  | 0.0  | 如果设置,此选项将控制边界的实心 在拖动地图时。默认值允许 用户以正常速度拖动到边界外,较高的值将 减慢地图拖出边界的速度,并完全设置边界 实心,防止用户拖到边界之外。  | 
d.键盘导航选项
选择  | 类型  | 默认  | 描述  | 
keyboard  | Boolean  | true  | 使用+``-和上下左右箭头对地图进行控制  | 
keyboardPanDelta  | Number  | 80  | 按箭头键时要平移的像素量。  | 
e.鼠标滚轮选项
选择  | 类型  | 默认  | 描述  | 
scrollWheelZoom  | Boolean|String  | true  | 是否可以使用鼠标滚轮缩放地图  | 
wheelDebounceTime  | Number  | 40  | 限制车轮可以点火的速率(以毫秒为单位)。默认情况下用户通过滚轮缩放的频率不能超过每 40 毫秒一次。  | 
wheelPxPerZoomLevel  | Number  | 60  | 滚动多少像素,表示更改一个完整的缩放级别。较小的值将使滚轮缩放更快(反之亦然)。  | 
f.触摸交互选项
选择  | 类型  | 默认  | 描述  | 
tapHold  | Boolean  | 启用事件模拟。  | |
tapTolerance  | Number  | 15  | 用户在触摸过程中可以移动手指的最大像素数。  | 
touchZoom  | Boolean|String  | *  | 是否可以通过用两根手指触摸拖动来缩放地图。  | 
bounceAtZoomLimits  | Boolean  | true  | 如果不希望地图缩放到超过最小/最大缩放,请将其设置为 false,然后在缩放时反弹回去。  | 
g.地图状态选项
选择  | 类型  | 默认  | 描述  | 
crs  | CRS  | L.CRS.EPSG3857  | 要使用的坐标参考系  | 
h.动画选项
选择  | 类型  | 默认  | 描述  | 
zoomAnimation  | Boolean  | true  | 是否启用地图缩放动画。默认情况下,它处于启用状态 在除 Android 之外的所有支持 CSS3 过渡的浏览器中。  | 
zoomAnimationThreshold  | Number  | 4  | 如果缩放差异超过此值,则不会对缩放进行动画处理。  | 
fadeAnimation  | Boolean  | true  | 是否启用磁贴淡入淡出动画。默认情况下,它处于启用状态 在除 Android 之外的所有支持 CSS3 过渡的浏览器中。  | 
markerZoomAnimation  | Boolean  | true  | 标记是否使用缩放动画对其缩放进行动画处理(如果禁用) 它们将在动画的长度内消失。默认情况下,它是 在除 Android 之外的所有支持 CSS3 过渡的浏览器中启用。  | 
transform3DLimit  | Number  | 2^23  | 定义 CSS 转换转换的最大大小。默认 除非 Web 浏览器将图层放置在 做大事后错了地方.panBy  | 
3、事件
a.图层事件
事件  | 数据  | 描述  | 
baselayerchange  | LayersControlEvent  | 当通过层控件更改基础层时触发。  | 
overlayadd  | LayersControlEvent  | 通过图层控件选择叠加时触发。  | 
overlayremove  | LayersControlEvent  | 通过图层控件取消选择叠加时触发。  | 
layeradd  | LayerEvent  | 将新图层添加到地图时触发。  | 
layerremove  | LayerEvent  | 从地图中移除某些图层时触发  | 
b.地图状态变化事件
事件  | 数据  | 描述  | 
zoomlevelschange  | Event  | 当地图上的缩放级别数因更改而触发 以添加或删除图层。  | 
resize  | ResizeEvent  | 调整地图大小时触发。  | 
unload  | Event  | 使用删除方法销毁地图时触发。  | 
viewreset  | Event  | 当地图需要重绘其内容时触发(这通常会发生) 在地图上缩放或加载)。对于创建自定义叠加非常有用。  | 
load  | Event  | 初始化地图时触发(设置其中心和缩放比例时) 第一次)。  | 
zoomstart  | Event  | 在地图缩放即将更改时触发(例如,在缩放动画之前)。  | 
movestart  | Event  | 当地图视图开始更改时触发(例如,用户开始拖动地图)。  | 
zoom  | Event  | 在变焦级别发生任何变化时反复触发, 包括缩放和飞行动画。  | 
move  | Event  | 在地图的任何移动过程中反复发射, 包括平移和飞行动画。  | 
zoomend  | Event  | 在任何动画之后,地图缩放更改时触发。  | 
moveend  | Event  | 当地图中心停止更改时触发 (例如,用户停止拖动地图或在非居中缩放后)。  | 
c.弹出式事件
事件  | 数据  | 描述  | 
popupopen  | PopupEvent  | 在地图上打开弹出窗口时触发  | 
popupclose  | PopupEvent  | 关闭地图中的弹出窗口时触发  | 
autopanstart  | Event  | 打开弹出窗口时地图开始自动平移时触发。  | 
d.工具提示事件
事件  | 数据  | 描述  | 
tooltipopen  | TooltipEvent  | 在地图中打开工具提示时触发。  | 
tooltipclose  | TooltipEvent  | 关闭地图中的工具提示时触发。  | 
e.位置事件
事件  | 数据  | 描述  | 
locationerror  | ErrorEvent  | 在地理位置(使用定位方法)失败时触发。  | 
locationfound  | LocationEvent  | 在地理位置定位时触发(使用定位方法) 成功了。  | 
f.交互事件
事件  | 数据  | 描述  | 
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  | 在鼠标单击地图之前触发(有时在 希望在任何现有点击之前在点击时发生一些事情 处理程序开始运行)。  | 
g.其他
事件  | 数据  | 描述  | 
zoomanim  | ZoomAnimEvent  | 每个缩放动画至少触发一次。对于连续变焦,如捏合变焦,在变焦期间每帧触发一次。  | 
4、方法
方法  | 返回  | 描述  | 
getRenderer(layer)  | Renderer  | 返回应该用于呈现给定路径的渲染器实例。它将确保地图和路径的选项 得到尊重,并且渲染器确实存在于地图上。renderer  | 
a.图层和控件的方法
方法  | 返回  | 描述  | 
addControl(control)  | this  | 将给定控件添加到映射  | 
removeControl(control)  | this  | 从映射中删除给定的控件  | 
addLayer(layer)  | this  | 将给定图层添加到地图  | 
removeLayer(layer)  | this  | 从地图中移除给定图层。  | 
hasLayer(layer)  | Boolean  | 如果给定图层当前已添加到地图中,则返回true  | 
eachLayer(fn, context?)  | this  | 循环访问地图的层,可以选择指定迭代器函数的上下文。map.eachLayer(function(layer){    layer.bindPopup('Hello'); });  | 
openPopup(popup)  | this  | 在关闭之前打开的弹出窗口的同时打开指定的弹出窗口(以确保一次只打开一个弹出窗口以提高可用性)。  | 
openPopup(<String|HTMLElement> content, latlng, options?)  | this  | 创建具有指定内容和选项的弹出窗口,并在地图上的给定点中将其打开。  | 
closePopup(popup?)  | this  | 关闭以前使用 openPopup 打开的弹出窗口(或给定弹出窗口)。  | 
openTooltip(tooltip)  | this  | 打开指定的工具提示。  | 
openTooltip(<String|HTMLElement> content, latlng, options?)  | this  | 创建具有指定内容和选项的工具提示并将其打开。  | 
closeTooltip(tooltip)  | this  | 关闭作为参数给出的工具提示。  | 
b.修改地图状态的方法
方法  | 返回  | 描述  | 
setView(center, zoom, <Zoom/pan options> options?)  | this  | 使用给定的设置地图视图(地理中心和缩放) 动画选项。  | 
setZoom(zoom, <Zoom/pan options> options?)  | this  | 设置地图的缩放比例。  | 
zoomIn(delta?, options?)  | this  | 将地图的缩放比例增加(默认情况下为缩放增量)。delta  | 
zoomOut(delta?, options?)  | this  | 将地图的缩放比例减小(默认情况下为缩放增量)。delta  | 
setZoomAround(latlng, zoom, options)  | this  | 缩放地图,同时在地图上保留指定的地理点 静止(例如,内部用于滚动缩放和双击缩放)。  | 
setZoomAround(offset, zoom, options)  | this  | 缩放地图,同时保持地图上的指定像素(相对于左上角)不变。  | 
fitBounds(bounds, options?)  | this  | 设置包含给定地理边界的地图视图,其中 最大缩放级别可能。  | 
fitWorld(options?)  | this  | 设置一个地图视图,该视图主要包含整个世界,最大值 缩放级别可能。  | 
panTo(latlng, options?)  | this  | 将地图平移到给定中心。  | 
panBy(offset, options?)  | this  | 按给定数量的像素平移地图(动画)。  | 
flyTo(latlng, zoom?, <Zoom/pan options> options?)  | this  | 设置地图视图(地理中心和缩放)执行平滑 平移缩放动画。  | 
flyToBounds(bounds, options?)  | this  | 使用平滑的动画(如 flyTo)设置地图视图, 但采用边界参数,如 fitBounds。  | 
setMaxBounds(bounds)  | this  | 将地图视图限制为给定边界。  | 
setMinZoom(zoom)  | this  | 设置可用缩放级别的下限。  | 
setMaxZoom(zoom)  | this  | 设置可用缩放级别的上限。  | 
panInsideBounds(bounds, options?)  | this  | 将地图平移到位于给定边界内的最近视图(如果尚未平移),并使用特定选项(如果有)控制动画。  | 
panInside(latlng, options?)  | this  | 将地图平移为最小量以使其可见。用 填充选项,使显示适合更受限制的边界。 如果已在(可选填充)显示边界内, 不会平移地图。latlng``latlng  | 
invalidateSize(<Zoom/pan options> options)  | this  | 检查地图容器大小是否更改,如果是,则更新地图 — 在动态更改地图大小后调用它,同时进行动画处理 默认平移。  | 
invalidateSize(animate)  | this  | 检查地图容器大小是否更改,如果是,则更新地图 — 在动态更改地图大小后调用它,同时进行动画处理 默认平移。  | 
stop()  | this  | 停止当前正在运行的动画或动画(如果有  | 
c.地理定位方法
方法  | 返回  | 描述  | 
locate(options?)  | this  | 尝试使用地理位置 API 定位用户,在成功时触发包含位置数据的位置找到事件,或在失败时触发位置错误`事件。  | 
stopLocate()  | this  | 停止监视先前由 启动的位置,如果 使用 调用了 map.locate ,则中止重置地图视图。  | 
d.其他方法
方法  | 返回  | 描述  | 
addHandler(name, HandlerClass)  | this  | 将新的处理程序添加到映射中,给定其名称和构造函数。  | 
remove()  | this  | 销毁映射并清除所有相关的事件侦听器。  | 
createPane(name, container?)  | HTMLElement  | 使用给定名称创建新的地图窗格(如果尚不存在), 然后返回它。窗格创建为 、 或 的子项 作为主地图窗格的子项(如果未设置)。container  | 
getPane(<String|HTMLElement> pane)  | HTMLElement  | 返回给定其名称或 HTML 元素(其标识)的地图窗格。  | 
getPanes()  | Object  | 返回一个纯对象,其中包含所有窗格的名称作为键和 窗格作为值。  | 
getContainer()  | HTMLElement  | 返回包含映射的 HTML 元素。  | 
whenReady(fn, context?)  | this  | 在映射初始化时运行给定函数 视图(居中和缩放)和至少一个图层,或立即 如果已初始化,可以选择传递函数上下文。fn  | 
e.获取地图状态的方法
方法  | 返回  | 描述  | 
getCenter()  | LatLng  | 返回地图视图的地理中心  | 
getZoom()  | Number  | 返回地图视图的当前缩放级别  | 
getBounds()  | LatLngBounds  | 返回当前地图视图中可见的地理边界  | 
getMinZoom()  | Number  | 返回地图的最小缩放级别(如果在地图或任何图层的选项中设置)或默认缩放级别。  | 
getMaxZoom()  | Number  | 返回地图的最大缩放级别(如果在地图或任何图层的选项中设置)。  | 
getBoundsZoom(bounds, inside?, padding?)  | Number  | 返回给定边界适合地图的最大缩放级别。  | 
getSize()  | Point  | 返回地图容器的当前大小(以像素为单位)。  | 
getPixelBounds()  | Bounds  | 以投影像素为单位返回当前地图视图的边界 坐标(有时在层和覆盖实现中很有用)。  | 
getPixelOrigin()  | Point  | 返回 的左上角的投影像素坐标 地图图层(在自定义图层和叠加实现中很有用)。  | 
getPixelWorldBounds(zoom?)  | Bounds  | 返回缩放级别的像素坐标中的世界边界。  | 
f.转换方法
方法  | 返回  | 描述  | 
getZoomScale(toZoom, fromZoom)  | Number  | 返回要应用于从缩放级别到 的地图过渡的比例因子。  | 
getScaleZoom(scale, fromZoom)  | Number  | 返回地图最终将达到的缩放级别(如果它处于级别并且所有内容都按 的因子缩放)。  | 
project(latlng, zoom)  | Point  | 根据投影投影地理坐标 LatLng 的 CRS,然后根据zoom 和 CRS 的变换对其进行缩放。  | 
unproject(point, zoom)  | LatLng  | 反转。  | 
layerPointToLatLng(point)  | LatLng  | 给定相对于原点像素的像素坐标, 返回相应的地理坐标(对于当前缩放级别)。  | 
latLngToLayerPoint(latlng)  | Point  | 给定地理坐标,返回相应的像素坐标 相对于原点像素。  | 
wrapLatLng(latlng)  | LatLng  | 返回一个 LatLng,其中 并且已根据 地图的 CRS 和属性(如果它们在 CRS的界限。  | 
wrapLatLngBounds(bounds)  | LatLngBounds  | 返回与给定大小相同的 LatLngBounds,确保 它的中心在CRS的范围内。  | 
distance(latlng1, latlng2)  | Number  | 根据以下条件返回两个地理坐标之间的距离地图的 CRS。默认情况下,这以米为单位测量距离。  | 
containerPointToLayerPoint(point)  | Point  | 给定相对于地图容器的像素坐标,返回相应的相对于原点像素的像素坐标。  | 
layerPointToContainerPoint(point)  | Point  | 给定相对于原点像素的像素坐标, 返回相对于地图容器的相应像素坐标。  | 
containerPointToLatLng(point)  | LatLng  | 给定相对于地图容器的像素坐标,返回 相应的地理坐标(对于当前缩放级别)。  | 
latLngToContainerPoint(latlng)  | Point  | 给定地理坐标,返回相应的像素坐标 相对于地图容器。  | 
mouseEventToContainerPoint(ev)  | Point  | 给定一个 MouseEvent 对象,返回相对于 映射事件发生的容器。  | 
mouseEventToLayerPoint(ev)  | Point  | 给定一个 MouseEvent 对象,返回相对于 事件发生的原始像素。  | 
mouseEventToLatLng(ev)  | LatLng  | 给定一个 MouseEvent 对象,返回地理坐标,其中 活动发生了。  | 
5、地图窗格
窗格是用于控制地图上图层顺序的 DOM 元素。你 可以使用 map.getPane 或 map.getPanes 方法访问窗格。可以使用 map.createPane 方法创建新窗格。
每个地图都有以下默认窗格,这些窗格仅在 zIndex 中有所不同。
窗 格  | 类型  | Z 指数  | 描述  | 
mapPane  | HTMLElement  | 'auto'  | 包含所有其他地图窗格的窗格  | 
tilePane  | HTMLElement  | 200  | 网格图层和图块图层的窗格  | 
overlayPane  | HTMLElement  | 400  | 矢量窗格(路径s,如折线s 和多边形)、图像叠加 s 和视频叠加  | 
shadowPane  | HTMLElement  | 500  | 用于叠加阴影的窗格(例如标记阴影)  | 
markerPane  | HTMLElement  | 600  | 标记s 的图标s 的窗格  | 
tooltipPane  | HTMLElement  | 650  | 工具提示的窗格。  | 
popupPane  | HTMLElement  | 700  | 弹出窗口的窗格。  | 
箴言:因为这些东西是非常简单的。不要抱怨自己学不会,那是因为你没有足够用心。
    
    










