开发者问题收集

从 Openlayers 3 视口获取所有功能

2016-08-05
6399

我试图找出 Openlayers 3 中图层上可见(视口)的所有要素。

如果我向地图添加点击事件,我就能找出单个要素,如下所示。但我无法找到视口中可见的所有要素。有人能帮忙吗?

map.on('click', function(evt) {
        var feature = map.forEachFeatureAtPixel(evt.pixel,
            function(feature, layer) {
                return feature;
            });
});
1个回答

我建议您首先获取视图的范围:

var extent = yourMap.getView().calculateExtent(yourMmap.getSize());

然后获取此范围内的所有要素:

yourVectorSource.forEachFeatureInExtent(extent, function(feature){
    // do something 
}); 
Hicham Zouarhi
2016-08-05