0

我有一个具有 500 多个功能的集群 geojson 源。我为此源添加了两个层:一个用于在没有时渲染单个功能point_count,另一个在有时point_count(基于文档中的此示例:https ://maplibre.org/maplibre-gl-js-docs/example/cluster /)。

问题是,无论我放大多远,某些特征(主要是特征数组的末尾)根本不会呈现为集群或单个圆圈。

这是一个显示问题的示例:https ://codepen.io/kaveh/pen/NWaaOaQ 。

红色圆圈分别来自一个单独的非聚集源和层,分别称为stationsand stations-single,它们表明所有特征实际上都可以被渲染。该图层有一个单击事件,该事件在弹出窗口中显示坐标。

聚集源(称为clustered-stations)及其层位于第 6121 行之后,并以蓝色/绿色阴影呈现。

如果您单击地图底部的“缩放到丢失的车站”,它会将地图缩放到车站 353,stations-single以红色渲染,而不是clustered-stations。如您所见,clustered-stations图层中的其他一些站点渲染得很好。

我的集群图层或其过滤器的样式有问题吗?或者这是一个错误maplibre-gl(并且可能mapbox-gl,虽然我没有用 mapbox 测试过)?

4

1 回答 1

0

我找到了问题的根源。它是由supercluster的依赖项之一引起的maplibre-gl。它预计经度在 [-180, 180] 范围内,超出该范围的任何内容都会被丢弃。

快速的解决方法是修复坐标。我还提交了一个 PR 来做到这一点superclusterhttps ://github.com/mapbox/supercluster/pull/194 。

于 2021-12-24T19:52:20.997 回答