javascript - 从 Openlayers 3 视口(viewport)获取所有功能

标签 javascript openlayers-3

我正在尝试找出 Openlayers 3 图层上所有可见的(视口(viewport))特征。

如果我向 map 添加一个点击事件,我就能够找到一个单一的特征,如下所示。但是我无法找到视口(viewport)中可见的所有功能。有人可以帮忙吗?

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

最佳答案

我建议您首先了解 View 的范围:

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

然后得到这个范围内的所有特征:

yourVectorSource.forEachFeatureInExtent(extent, function(feature){
    // do something 
}); 

关于javascript - 从 Openlayers 3 视口(viewport)获取所有功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38785940/

相关文章:

javascript - OwlCarousel2 无法让 jquery 工作

events - OpenLayers 3 捕捉瓷砖加载事件

javascript - 无法从 map 中删除所有图层

javascript - 如何在 OpenLayers3 中将图 block 层居中

geojson - Openlayers 3 如何以高(小)分辨率渲染几何体中的每个点?

JavaScript/jQuery – 在输入字段的末尾添加一个字符

javascript - 如何在没有 CORS 问题的情况下从外部域获取 ttf

javascript - 滚动宽度总是返回未定义

JavaScript 名称与 ID

openlayers-3 - 在 OpenLayers 3 中的 map 旋转期间旋转要素