我正在使用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 的任何图块?
任何帮助解决这个问题?