【问题标题】:How to find layer group from layer in Openlayers 3?如何从 Openlayers 3 中的图层中查找图层组?
【发布时间】:2015-10-21 18:04:25
【问题描述】:

我希望能够在用户交互过程中知道图层属于哪个 ol.layer.Group(s),而无需自上而下遍历地图上的所有组。

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

【问题讨论】:

    标签: javascript maps openlayers-3


    【解决方案1】:

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

    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”的单独字典也是如此。虽然这不在图书馆中,这就是为什么我没有将其标记为答案。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多