Leaflet API —-Map

Leaflet API —-Map

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

使用示例

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

创建

Factory说明
L.map(<String> id, <Map options> options?)在给定 <div> 元素的 DOM ID 和可选的带有 Map 选项的对象文字的情况下实例化地图对象。
L.map(<HTMLElement> el, <Map options> options?)在给定 <div> HTML 元素的实例和可选的带有 Map 选项的对象文字的情况下实例化地图对象。

选项

OptionTypeDefault 说明
preferCanvasBooleanfalse路径是否应在 Canvas 渲染器上渲染。默认情况下,所有路径都在 SVG 渲染器中渲染。

控制选项

OptionTypeDefault 说明
attributionControlBooleantrue默认情况下是否将归因控件添加到地图中。
zoomControlBooleantrue默认情况下是否将缩放控件添加到地图中。

交互选项

Interaction Options

OptionTypeDefault 说明
closePopupOnClickBooleantrue如果您不想在用户单击地图时关闭弹出窗口,请将其设置为 false。
zoomSnapNumber1强制地图的缩放级别始终是这个的倍数,尤其是在 fitBounds() 或捏缩放之后。默认情况下,缩放级别捕捉到最接近的整数;较低的值(例如 0.5 或 0.1)允许更大的粒度。值 0 表示缩放级别不会在 fitBounds 或捏缩放之后捕捉。
zoomDeltaNumber1控制在 zoomIn()、zoomOut()、按键盘上的 + 或 – 或使用缩放控件后地图的缩放级别将改变多少。小于 1 的值(例如 0.5)允许更大的粒度。
trackResizeBooleantrue地图是否自动处理浏览器窗口调整大小以更新自身。
boxZoomBooleantrue地图是否可以缩放到按住shift键的同时拖动鼠标指定的矩形区域。
doubleClickZoomBoolean|Stringtrue地图是否可以双击放大和按住shift键双击缩小。如果通过“中心”,无论鼠标在哪里,双击缩放都会缩放到视图的中心。
draggingBooleantrue地图是否可以用鼠标/触摸拖动。

Map State Options

地图状态选项

OptionTypeDefault 说明
crsCRSL.CRS.EPSG3857要使用的坐标参考系。如果您不确定它的含义,请不要更改它。
centerLatLngundefined地图的初始地理中心
zoomNumberundefined初始地图缩放级别
minZoomNumber*地图的最小缩放级别。如果未指定且地图中至少有一个 GridLayer 或 TileLayer,则将使用其最小缩放选项中的最低值。
maxZoomNumber*地图的最大缩放级别。如果未指定且地图中至少有一个 GridLayer 或 TileLayer,则将使用其 maxZoom 选项中的最高值。
layersLayer[][]最初将添加到地图的图层数组
maxBoundsLatLngBoundsnull设置此选项后,地图会将视图限制在给定的地理范围内,如果用户试图在视图之外平移,则将用户弹回。要动态设置限制,请使用 setMaxBounds 方法。
rendererRenderer*在地图上绘制矢量图层的默认方法。默认情况下为 L.SVG 或 L.Canvas,具体取决于浏览器支持。

Animation Options

动画选项

OptionTypeDefault 说明
zoomAnimationBooleantrue地图缩放动画是否开启。默认情况下,它在所有支持 CSS3 过渡的浏览器中启用,除了 Android。
zoomAnimationThresholdNumber4如果缩放差异超过此值,则不会为缩放设置动画。
fadeAnimationBooleantrue是否启用平铺淡入淡出动画。默认情况下,它在所有支持 CSS3 过渡的浏览器中启用,除了 Android。
markerZoomAnimationBooleantrue标记是否使用缩放动画对其缩放进行动画处理,如果禁用,它们将在动画长度内消失。默认情况下,它在所有支持 CSS3 过渡的浏览器中启用,除了 Android。
transform3DLimitNumber2^23定义 CSS 转换变换的最大尺寸。除非网络浏览器在进行大平移后将图层放置在错误的位置,否则不应更改默认值。

Panning Inertia Options

平移惯性选项

OptionTypeDefault 说明
inertiaBoolean*如果启用,地图的平移将产生惯性效应,其中地图在拖动时会产生动量并继续沿同一方向移动一段时间。在触摸设备上感觉特别好。默认启用。
inertiaDecelerationNumber3000惯性运动减速的速率,以像素/秒²为单位。
inertiaMaxSpeedNumberInfinity惯性运动的最大速度,以像素/秒为单位。
easeLinearityNumber0.2
worldCopyJumpBooleanfalse启用此选项后,当您平移到世界的另一个“副本”时,地图会跟踪并无缝跳转到原始副本,以便标记和矢量图层等所有叠加层仍然可见。
maxBoundsViscosityNumber0.0如果设置了 maxBounds,则此选项将控制拖动地图时边界的实心程度。默认值 0.0 允许用户以正常速度拖出边界,较高的值将减慢地图拖出边界的速度,而 1.0 使边界完全固定,防止用户拖出边界。

Keyboard Navigation Options

键盘导航选项

OptionTypeDefault 说明
keyboardBooleantrue使地图具有焦点,并允许用户使用键盘箭头和 +/- 键导航地图。
keyboardPanDeltaNumber80按下箭头键时要平移的像素量。

Mouse wheel options

鼠标滚轮选项

OptionTypeDefault 说明
scrollWheelZoomBoolean|Stringtrue是否可以使用鼠标滚轮缩放地图。如果传递“中心”,无论鼠标在哪里,它都会缩放到视图的中心。
wheelDebounceTimeNumber40限制轮子可以发射的速率(以毫秒为单位)。默认情况下,用户每 40 毫秒不能多次通过滚轮进行缩放。
wheelPxPerZoomLevelNumber60多少滚动像素(由 L.DomEvent.getWheelDelta 报告)意味着一个完整缩放级别的变化。较小的值将使滚轮缩放更快(反之亦然)。

Touch interaction options

触控交互选项

OptionTypeDefault 说明
tapHoldBoolean启用上下文菜单事件的模拟,对于移动 Safari,默认值为 true。
tapToleranceNumber15用户在触摸期间可以移动手指的最大像素数,以使其被视为有效点击。
touchZoomBoolean|String*是否可以用两根手指触摸拖动来缩放地图。如果通过“中心”,无论触摸事件(手指)在哪里,它都会缩放到视图的中心。为具有触摸功能的 Web 浏览器启用。
bounceAtZoomLimitsBooleantrue如果您不希望地图缩放到最小/最大缩放范围之外,然后在捏缩放时反弹回来,请将其设置为 false。

Events

事件

Layer events

图层事件

EventData 说明
baselayerchangeLayersControlEvent通过图层控件更改基础图层时触发。
overlayaddLayersControlEvent当通过图层控件选择叠加层时触发。
overlayremoveLayersControlEvent当通过图层控件取消选择叠加层时触发。
layeraddLayerEvent将新图层添加到地图时触发。
layerremoveLayerEvent从地图中删除某些图层时触发

Map state change events

地图状态变化事件

EventData 说明
zoomlevelschangeEvent当地图上的缩放级别数量由于添加或删除图层而发生更改时触发。
resizeResizeEvent调整地图大小时触发。
unloadEvent使用 remove 方法销毁地图时触发。
viewresetEvent当地图需要重绘其内容时触发(这通常发生在地图缩放或加载时)。对于创建自定义叠加层非常有用。
loadEvent地图初始化时触发(当它的中心和缩放第一次设置时)。
zoomstartEvent当地图缩放即将改变时触发(例如在缩放动画之前)。
movestartEvent当地图的视图开始改变时触发(例如,用户开始拖动地图)。
zoomEvent在缩放级别发生任何变化期间重复触发,包括缩放和飞行动画。
moveEvent在地图的任何移动过程中重复触发,包括平移和飞行动画。
zoomendEvent在任何动画之后地图缩放更改时触发。
moveendEvent当地图中心停止变化时触发(例如,用户停止拖动地图或在非居中缩放之后)。

Popup events

弹出事件

EventData 说明
popupopenPopupEvent在地图中打开弹出窗口时触发
popupclosePopupEvent当地图中的弹出窗口关闭时触发
autopanstartEvent在打开弹出窗口时地图开始自动平移时触发。

Tooltip events

工具提示事件

EventData 说明
tooltipopenTooltipEvent在地图中打开工具提示时触发。
tooltipcloseTooltipEvent当地图中的工具提示关闭时触发。

Location events

位置事件

EventData 说明
locationerrorErrorEvent地理定位(使用定位方法)失败时触发。
locationfoundLocationEvent地理定位(使用定位方法)成功时触发。

Interaction events

交互事件

EventData 说明
clickMouseEvent当用户点击(或点击)地图时触发。
dblclickMouseEvent当用户双击(或双击)地图时触发。
mousedownMouseEvent当用户在地图上按下鼠标按钮时触发。
mouseupMouseEvent当用户在地图上释放鼠标按钮时触发。
mouseoverMouseEvent当鼠标进入地图时触发。
mouseoutMouseEvent当鼠标离开地图时触发。
mousemoveMouseEvent当鼠标在地图上移动时触发。
contextmenuMouseEvent当用户在地图上按下鼠标右键时触发,阻止默认浏览器上下文菜单显示此事件是否有侦听器。当用户按住单次触摸一秒钟(也称为长按)时,也会在移动设备上触发。
keypressKeyboardEvent当用户按下键盘上的一个键时触发,该键在地图获得焦点时产生一个字符值。
keydownKeyboardEvent当用户在地图获得焦点时按下键盘上的键时触发。与 keypress 事件不同,keydown 事件会针对产生字符值的键和不产生字符值的键触发。
keyupKeyboardEvent当用户在地图获得焦点时从键盘上释放一个键时触发。
preclickMouseEvent在鼠标点击地图之前触发(当您希望在任何现有点击处理程序开始运行之前点击发生某些事情时,有时很有用)。

Other Events

其他活动

EventData 说明
zoomanimZoomAnimEvent每个缩放动画至少触发一次。对于连续缩放,如捏缩放,在缩放期间每帧触发一次。

0 0 投票数
文章评分
订阅评论
提醒
0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x