我正在尝试通过使用此处 API 中所述的几何函数将某些特征从聚类中排除:
http://openlayers.org/en/latest/apidoc/ol.source.Cluster.html
当不应考虑聚类要素时,建议返回 null。我希望这意味着该功能仍将显示,但不包含在集群中。我看到的是,该功能根本没有显示。这是意料之中的吗?
IconLayer.clusterSource = new ol.source.Cluster({
distance: 40,
geometryFunction: this.clusterFunction,
source: mySource,
});
private clusterFunction(icon: Icon) {
return icon.geo.isMoving ? null : icon.getGeometry();
}
似乎不能那样做。在github上看到这个答案:
https://github.com/openlayers/ol3/pull/4917#issuecomment-224875452
如上面的链接所述,可能的解决方案是创建第二个矢量图层并在那里显示非聚类特征。
编辑:为了记录,我最终创建了两个矢量层。但是,我没有使用 geometryFunction 禁用第一层的渲染,而是简单地从第一层的源中删除了有问题的特征并将其添加到第二层。