【问题标题】:Mapbox not able to change the style of vector tiles at run timeMapbox 无法在运行时更改矢量图块的样式
【发布时间】:2018-11-16 06:50:45
【问题描述】:

我正在使用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]);

这在缩放级别

对解决这个问题有什么帮助吗?

【问题讨论】:

  • 您在使用mapbox-gl创建矢量瓦片源时是否配置了maxzoom属性?如果将此设置为 14,则地图不会请求更高缩放级别的切片。
  • @Scarysize 是的,这可以解决问题,但是对于我有一个包含一堆图层的组合图块的源的情况,我必须将最大缩放设置为 21,因为有一些图层用于我已经创建了可以放大 21 倍的图块。

标签: mapbox mapbox-gl-js tippecanoe


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-08
    • 1970-01-01
    相关资源
    最近更新 更多