Leaflet API - TileLayer 中文文档
本文介绍下 Leaflet 中 TileLayer API的详细使用说明。
TileLayer API 调用方法
用于在地图上加载和显示瓦片图层。
请注意,大多数tile服务器都需要属性,你可以在
Layer
下进行设置。 扩展
GridLayer
使用示例
L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png?{foo}', {foo: 'bar', attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'}).addTo(map);
URL 模板
表现为以下方式:
'https://{s}.somedomain.com/blabla/{z}/{x}/{y}{r}.png'
{s}
是指可用的子域之一(按顺序使用,以帮助解决每个域的浏览器并行请求限制;子域值在选项中指定;默认为
a
, b
或 c
, 可以省略),
{z}
— 缩放级别, {x}
和
{y}
— 瓦片坐标。
{r}
可以用来在URL中添加 "@2x"
以加载视网膜瓦片。
您可以在模板中使用自定义键,这些键将通过 TileLayer 选项进行 evaluated ,如下所示:
L.tileLayer('https://{s}.somedomain.com/{foo}/{z}/{x}/{y}.png', {foo: 'bar'});
Creation
Extension methods 扩展方法
构造函数 | 说明 |
---|---|
L.tilelayer(
|
指定 URL 模板 和可选的 options
对象,实例化一个瓦片图层对象。
|
Options 选项
选项 | 类型 | 默认值 | 说明 |
---|---|---|---|
minZoom
|
Number |
0 |
此图层将显示的最小缩放级别(包括最小) |
maxZoom
|
Number |
18 |
此图层将显示的最大缩放级别(包括最大) |
subdomains
|
String|String[] |
'abc' |
瓦片服务的子域。 可以以一个字符串(其中每个字母是一个子域名)或字符串数组的形式传递。 |
errorTileUrl
|
String |
'' |
显示瓦片图像的 URL,以代替加载失败的瓦片。 |
zoomOffset
|
Number |
0 |
平铺 URL 中使用的缩放数字将与此值发生偏移。 |
tms
|
Boolean |
false |
如果为 true ,则反转瓦片的 Y 轴编号 (为
TMS
服务启用此选项)。
|
zoomReverse
|
Boolean |
false |
如果设置为 true,则图块 URL 中使用的缩放数字将被反转
(maxZoom - zoom 而不是 zoom )
|
detectRetina
|
Boolean |
false |
如果
true
并且用户在视网膜显示器上,它将请求四个指定大小一半的瓦片和更大的缩放级别,以使用高分辨率。
|
crossOrigin
|
Boolean|String |
false |
是否将 crossOrigin 属性添加到瓦片中。 如果提供了字符串,则所有瓦片的 crossOrigin 属性都将设置为提供的字符串。 如果您想访问平铺像素数据,则需要这样做。 有关有效的字符串值,请参阅 CORS 设置。 |
referrerPolicy
|
Boolean|String |
false |
是否将referrerPolicy 属性添加到图块中。如果提供了字符串,则所有图块都将其 referrerPolicy 属性设置为提供的字符串。如果您的地图的渲染上下文具有严格的默认值,但您的图块提供者需要有效的引用者,则可能需要这样做(例如,验证 API 令牌)。 请参考 HTMLImageElement.referrerPolicy 了解有效的字符串值。 |
选项 | 类型 | 默认值 | 说明 |
---|---|---|---|
tileSize
|
Number|Point |
256 |
网格中瓦片的宽度和高度。如果宽度和高度相等,则使用当前数字,否则使用
L.point(width, height) 。
|
opacity
|
Number |
1.0 |
瓦片的不透明度。可以在
createTile() 函数中使用。
|
updateWhenIdle
|
Boolean |
(depends) |
在移动浏览器上默认为
true
,以避免过多的请求并保持流畅的导航。否则为
false
以便在平移过程中显示新瓦片,因为在桌面浏览器中很容易在
keepBuffer
选项之外平移。
|
updateWhenZooming
|
Boolean |
true |
默认情况下,平滑缩放动画 (在
触摸缩放 或
flyTo() 期间)
将每隔一个整数的缩放级别更新网格图层。把这个选项设置为
false
,将只在平滑动画结束时更新网格图层。
|
updateInterval
|
Number |
200 |
在平移时,瓦片将会在
updateInterval 毫秒内最多只更新一次。
|
zIndex
|
Number |
1 |
瓦片图层的显性 zIndex。 |
bounds
|
LatLngBounds
|
undefined |
如果设置,瓦片将只在设置的
LatLngBounds
内被加载。
|
maxNativeZoom
|
Number |
undefined |
瓦片源可用的最大缩放数。如果指定,所有缩放级别高于
maxNativeZoom 的图块将根据
maxNativeZoom
的缩放级别进行加载并自动缩放。
|
minNativeZoom
|
Number |
undefined |
瓦片源可用的最小缩放数。如果指定,所有缩放级别小于
minNativeZoom 的图块将根据
minNativeZoom
的缩放级别进行加载并自动缩放。
|
noWrap
|
Boolean |
false |
该图层是否被包裹在逆子午线周围。如果为
true ,则 GridLayer
将只在低缩放级别下显示一次。当
map CRS 不环绕时无效。可与
bounds
结合使用以防止请求超出 CRS 限制的图块。
|
pane
|
String |
'tilePane' |
将添加到网格图层的Map pane |
className
|
String |
'' |
为瓦片图层指定的自定义类名。默认是空的。 |
keepBuffer
|
Number |
2 |
平移地图时,在卸载之前保留这么多行和列的图块。 |
选项 | 类型 | 默认值 | 说明 |
---|---|---|---|
attribution
|
String |
null |
归属控制中要显示的字符串,例如 "© OpenStreetMap 贡献者"。 它描述了图层数据,通常是对版权所有者和瓦片提供者的法律义务。 |
Events 事件
Extension methods 扩展方法
事件 | 数据 | 说明 |
---|---|---|
tileabort
|
TileEvent
|
当瓦片正在加载但现在不需要时触发。 |
事件 | 数据 | 说明 |
---|---|---|
popupopen
|
PopupEvent
|
当绑定到该层的 popup 打开时触发 |
popupclose
|
PopupEvent
|
当绑定到该层的 popup 关闭时触发 |
事件 | 数据 | 说明 |
---|---|---|
tooltipopen
|
TooltipEvent
|
当绑定到该层的 tooltip 打开时触发。 |
tooltipclose
|
TooltipEvent
|
当绑定到该层的 tooltip 关闭时触发。 |
Methods 方法
方法 | 返回值 | 说明 |
---|---|---|
setUrl(
|
this |
更新图层的 URL 模板并重绘它 (除非
|
createTile(
|
HTMLElement |
仅在内部调用,覆盖 GridLayer 的
|
Extension methods 扩展方法
方法 | 返回值 | 说明 |
---|---|---|
getTileUrl(
|
String |
仅在内部调用,返回给定坐标的瓦片的 URL。 扩展
|
方法 | 返回值 | 说明 |
---|---|---|
bringToFront()
|
this |
将瓦片图层置于所有瓦片图层的顶部。 |
bringToBack()
|
this |
将瓦片图层置于所有瓦片图层的底部。 |
getContainer()
|
HTMLElement |
返回包含该图层的瓦片的 HTML 元素。 |
setOpacity(
|
this |
改变网格图层的 opacity 。 |
setZIndex(
|
this |
改变网格图层的 zIndex 。 |
isLoading()
|
Boolean |
如果网格图层中的任何瓦片没有完成加载,则返回
|
redraw()
|
this |
清除该图层的所有瓦片,并再次请求它们。 |
getTileSize()
|
Point
|
将
tileSize option
规范化为一个点。由
|
方法 | 返回值 | 说明 |
---|---|---|
addTo(
|
this |
将图层添加到指定的地图或图层组(LayerGroup)。 |
remove()
|
this |
从当前处于活动状态的地图中删除图层。 |
removeFrom(
|
this |
从指定的地图中删除图层 |
removeFrom(
|
this |
从指定的
|
getPane(
|
HTMLElement |
返回代表地图上指定窗格的
|
getAttribution()
|
String |
由 |
方法 | 返回值 | 说明 |
---|---|---|
bindPopup(
|
this |
将一个弹出式窗口与传入的
|
unbindPopup()
|
this |
移除之前用 |
openPopup(
|
this |
在指定的
|
closePopup()
|
this |
如果与当前图层绑定的弹窗(popup)时打开的,则关闭当前弹窗。 |
togglePopup()
|
this |
根据当前状态,打开或关闭与该层绑定的弹出窗口。 |
isPopupOpen()
|
boolean |
如果与该层绑定的弹出窗口当前已打开,则返回
|
setPopupContent(
|
this |
设置绑定到该图层的弹出窗口的内容。 |
getPopup()
|
Popup
|
返回绑定到该图层的弹出窗口。 |
方法 | 返回值 | 说明 |
---|---|---|
bindTooltip(
|
this |
将工具提示(tooltip)绑定到传入的图层
|
unbindTooltip()
|
this |
移除之前用
|
openTooltip(
|
this |
在指定的
|
closeTooltip()
|
this |
如果该图层处于打开状态,则关闭绑定到该图层的工具提示。 |
toggleTooltip()
|
this |
根据当前状态打开或关闭绑定到该图层的工具提示。 |
isTooltipOpen()
|
boolean |
如果该层绑定的工具提示当前已打开,则返回
|
setTooltipContent(
|
this |
设置绑定到该层的工具提示的内容。 |
getTooltip()
|
Tooltip
|
返回绑定到该层的工具提示。 |
方法 | 返回值 | 说明 |
---|---|---|
on(
|
this |
为对象的特定事件类型添加一个监听函数( |
on(
|
this |
添加一组 type/listener,例如
|
off(
|
this |
移除一个先前添加的监听器函数。如果没有指定函数,它将从对象中删除该特定事件的所有监听器。请注意,如果您向
|
off(
|
this |
删除一组 type/listener |
off()
|
this |
移除该对象上所有事件的所有监听器。这包括隐含的附加事件。 |
fire(
|
this |
触发指定类型的事件。您可以选择提供一个数据对象——侦听器函数的第一个参数将包含其属性,事件可以选择性地传播到事件父级。 |
listens(
|
Boolean |
如果一个特定的事件类型有任何监听器连接到它,则返回
|
once(…)
|
this |
与 |
addEventParent(
|
this |
向父级
|
removeEventParent(
|
this |
删除之前向父级
|
addEventListener(…)
|
this |
同 |
removeEventListener(…)
|
this |
同 |
clearAllEventListeners(…)
|
this |
同 |
addOneTimeEventListener(…)
|
this |
同
|
fireEvent(…)
|
this |
同
|
hasEventListeners(…)
|
Boolean |
其他API
Leaflet中文API文档手机(v.19版本)参考:《Leaflet中文API文档手机(v.19版本)》
相关阅读
声明
1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。
2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。
TileLayer
的图层可能会重新实现以下方法。