使用OpenLayers放大单个点簇



我使用ol.source.Cluster将许多点渲染为集群。我需要放大单个集群扩展,我正试图使用以下代码来做到这一点:

map.on('singleclick', event => {
extent = feature.getGeometry().getExtent();
options = {
size: map.getSize(),
padding: [50, 50, 50, 50],
duration: 1000
}
map.getView().fit(extent, options);
})

当点被取消聚集并点击它时,我可以正确地看到它在地图的中心,比例尺从2000公里移动到50毫米;但当我有一个点簇时,当我点击该簇时,我看到刻度线从2000公里移动到50毫米,我看不到这些点。

我该怎么解决?

集群的几何体是显示集群的单个点。当你放大集群时,会将其扩展到各个功能,所以你应该使用这些功能的范围:

import (createEmpty, extend} from 'ol/extent'
...
extent = createEmpty();
feature.get('features').forEach(function(feature){
extend(extent, feature.getGeometry().getExtent());
});
...
map.getView().fit(extent, options);

相关内容

  • 没有找到相关文章

最新更新