Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从Openlayers 3中的图层中查找图层组?_Javascript_Maps_Openlayers 3 - Fatal编程技术网

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

Javascript 如何从Openlayers 3中的图层中查找图层组?,javascript,maps,openlayers-3,Javascript,Maps,Openlayers 3,我希望能够在用户交互过程中说出一个层所属的ol.layer.Group,而不必自上而下地查看地图上的所有组 有办法做到这一点吗?我目前正在使用ol3 v3.10.2。查看ol.layer.Group、ol.collection和goog.array,这些都没有设置对该层的向后引用。因此,在我看来,您必须深入挖掘所有组。在初始化层的过程中,在每个层上指定一个属性,以验证该层所属的组。像这样: var vector = new ol.layer.Vector({ GROUP : 'group1'

我希望能够在用户交互过程中说出一个层所属的ol.layer.Group,而不必自上而下地查看地图上的所有组


有办法做到这一点吗?我目前正在使用ol3 v3.10.2。

查看ol.layer.Group、ol.collection和goog.array,这些都没有设置对该层的向后引用。因此,在我看来,您必须深入挖掘所有组。

在初始化层的过程中,在每个层上指定一个属性,以验证该层所属的组。像这样:

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
            })
        })
    })
});
然后你可能会得到这样的群体:

layer.get('GROUP');

这很有效。保留所有组和层id的单独字典也是如此。但这不在库中,这就是为什么我没有将其标记为答案的原因。