< p >在 Mapbox-GL-JS 样式中,矢量切片源和基于矢量的图层上的 < code >minzoom 和 < code >maxzoom 属性具体是用来做什么的?文档有点简略。
我们来看一个例子:
"mytiles": {
"type": "vector",
"tiles": ["http://localhost/tiles/{z}/{x}/{y}.pbf"],
"minzoom": 7,
"maxzoom": 12
}
这意味着:
http://localhost/tiles/tiles.json
(我想是)有一个TileJSON文件,则忽略其minzoom
和maxzoom
属性。如果源中未定义minzoom
和/或maxzoom
属性,则从TileJSON中使用等效属性(如果可用)。否则,假定瓦片可以在请求的任何缩放级别上使用,且没有过度缩放发生。(如果实际上不存在瓦片,则不显示。)
让我们以上面的源为例:
{
"id": "mylayer",
"source": "mytiles",
"source-layer": "mytiles-layer",
"type": "fill",
"minzoom": 10,
"maxzoom": 14
}
这意味着:
如果未定义 minzoom
/ maxzoom
属性,则该图层将尝试在源的缩放范围内的任何给定缩放下显示。
为了完整起见:在实例化Map对象时:
const map = new mapboxgl.Map({
container: 'map,
style,
minZoom: 8, // note the camel-case
maxZoom: 15
});
这意味着: