如何从 Openlayers 3 中的图层中找到图层组?

rya*_*ack 4 javascript maps openlayers-3

我希望能够在用户交互期间判断图层属于哪个 ol.layer.Group(s),而无需自上而下浏览地图上的所有组。

有没有办法做到这一点?我目前使用的是 ol3 v3.10.2。

pav*_*los 5

在层初始化期间,在每个层上分配一个属性,以验证该层所属的组。像这样:

var vector = new ol.layer.Vector({
  GROUP : 'group1',
  source: vectorSource,
  style: new ol.style.Style({
        image: new ol.style.Circle({
            radius: 5,
            fill: new ol.style.Fill({color: '#FFFFFF'}),
            stroke: new ol.style.Stroke({
                color: '#000000',
                width: 3
            })
        })
    })
});
Run Code Online (Sandbox Code Playgroud)

然后你可能会得到这样的组:

layer.get('GROUP');
Run Code Online (Sandbox Code Playgroud)


Cri*_*han 3

查看 ol.layer.Group、ol.collection 和 goog.array,它们都没有设置对图层的向后引用。因此,据我所知,您必须深入挖掘所有组。