0

我正在使用tippecanoe 命令行实用程序来创建我的应用程序矢量瓦片集。这是根据 z/x/y 坐标创建一个目录结构,非常好。我有一组功能(分配有一个图层),不需要 z 达到 21 缩放级别,因此它创建的图块最高缩放级别 14。在我的情况下,通过将某些特征层的最大缩放增加到 21 来避免浪费内存空间是至关重要的。

据我了解,mapbox gl-js 根据其坐标空间查询矢量图块。

因此,在我从 6 放大到 21 的过程中,尽管缩放级别 > 14 的磁贴查询以 404 响应,但 gl-js 采用了 14 可用的相同磁贴。

问题是,

例如,如果我单击任何功能,我需要突出显示该功能。我通过过滤图层来做到这一点:

 //hiding the current layer
 mapBox.setFilter(currentLayer, ["==",'gid', "_none_"]);

 //showing only the clicked feature by filtering it out with a unique id it has
 mapBox.setFilter(highlightedLayer, ["==",'gid', feature_gid]);

这对于缩放级别 < 14 可以正常工作,但如果缩放级别超过 14(创建切片时的最大缩放),则它无法使用应用的图层样式渲染切片,因为它试图获取不存在的切片在我的服务器上。所以我的问题是,如果特定缩放级别的源图块给出 404,那么为什么不将图层样式应用于缩放级别为 14 的任何图块?

任何帮助解决这个问题?

4

1 回答 1

0

mapbox-gl 不支持此功能。您需要返回 Tippecanoe 并为此缩放级别生成图块。

请注意,这些新图块在数据方面可能与其他缩放级别相似。

请记住,图块就像以精确缩放级别生成的图像。如果放大,一个图块将分成多个图块。

于 2018-06-06T18:13:30.713 回答