minzoom 和 maxzoom 在 Mapbox-GL-JS 中到底做了什么?
What do minzoom and maxzoom do in Mapbox-GL-JS exactly?
矢量图块源的 minzoom
和 maxzoom
属性以及基于矢量的图层在 Mapbox-GL-JS 样式中的具体作用是什么? documentation有点短。
在矢量图块源中
举个例子:
"mytiles": {
"type": "vector",
"tiles": ["http://localhost/tiles/{z}/{x}/{y}.pbf"],
"minzoom": 7,
"maxzoom": 12
}
这意味着:
- 如果
http://localhost/tiles/tiles.json
有可用的 TileJSON 文件(我认为),请忽略其 minzoom
和 maxzoom
属性。
- 切勿尝试获取 7-12 范围之外的任何图块。
- 如果在缩放 13 时需要图块,则在缩放 12 时获取等效图块,然后过度缩放。
- 如果在缩放 6 时需要图块,则根本不显示图块。永远不会发生缩放不足。
如果 minzoom
and/or maxzoom
属性未在源上定义,则使用来自 TileJSON 的等效属性(如果可用)。否则,假定图块在请求的任何缩放级别都可用,并且不会发生过度缩放。 (如果磁贴实际上不可用,它们就不会显示。)
在矢量图层中
举个例子,参考上面的出处:
{
"id": "mylayer",
"source": "mytiles",
"source-layer": "mytiles-layer",
"type": "fill",
"minzoom": 10,
"maxzoom": 14
}
这意味着:
- 切勿在缩放比例小于 10 时显示此图层,即使有可用的图块也是如此。
- 尝试以 10.0-13.9 的缩放比例显示此图层,根据需要过度缩放 13.0 和 13.9 之间的图块。
- 从不在缩放 14+ 时显示此图层
如果未定义 minzoom
/maxzoom
属性,则图层将尝试以源缩放范围内的任何给定缩放显示。
在地图对象上
为了完整性:实例化 Map 对象时:
const map = new mapboxgl.Map({
container: 'map,
style,
minZoom: 8, // note the camel-case
maxZoom: 15
});
这意味着:
- 不允许用户缩小小于 8 或大于 15。
矢量图块源的 minzoom
和 maxzoom
属性以及基于矢量的图层在 Mapbox-GL-JS 样式中的具体作用是什么? documentation有点短。
在矢量图块源中
举个例子:
"mytiles": {
"type": "vector",
"tiles": ["http://localhost/tiles/{z}/{x}/{y}.pbf"],
"minzoom": 7,
"maxzoom": 12
}
这意味着:
- 如果
http://localhost/tiles/tiles.json
有可用的 TileJSON 文件(我认为),请忽略其minzoom
和maxzoom
属性。 - 切勿尝试获取 7-12 范围之外的任何图块。
- 如果在缩放 13 时需要图块,则在缩放 12 时获取等效图块,然后过度缩放。
- 如果在缩放 6 时需要图块,则根本不显示图块。永远不会发生缩放不足。
如果 minzoom
and/or maxzoom
属性未在源上定义,则使用来自 TileJSON 的等效属性(如果可用)。否则,假定图块在请求的任何缩放级别都可用,并且不会发生过度缩放。 (如果磁贴实际上不可用,它们就不会显示。)
在矢量图层中
举个例子,参考上面的出处:
{
"id": "mylayer",
"source": "mytiles",
"source-layer": "mytiles-layer",
"type": "fill",
"minzoom": 10,
"maxzoom": 14
}
这意味着:
- 切勿在缩放比例小于 10 时显示此图层,即使有可用的图块也是如此。
- 尝试以 10.0-13.9 的缩放比例显示此图层,根据需要过度缩放 13.0 和 13.9 之间的图块。
- 从不在缩放 14+ 时显示此图层
如果未定义 minzoom
/maxzoom
属性,则图层将尝试以源缩放范围内的任何给定缩放显示。
在地图对象上
为了完整性:实例化 Map 对象时:
const map = new mapboxgl.Map({
container: 'map,
style,
minZoom: 8, // note the camel-case
maxZoom: 15
});
这意味着:
- 不允许用户缩小小于 8 或大于 15。