ryansstack
ryansstack

Reputation: 1476

How to find layer group from layer in Openlayers 3?

I'd like to be able to tell what ol.layer.Group(s) a layer is part of during a user interaction, without going through all the groups on the map top-down.

Is there a way to do this? I'm currently using ol3 v3.10.2.

Upvotes: 5

Views: 2498

Answers (2)

pavlos
pavlos

Reputation: 3081

During initialising of your layers asign an attribute, on each layer, to verify the group this layer belongs to. like so:

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
            })
        })
    })
});

and then you may get the group like so:

layer.get('GROUP');

Upvotes: 6

Crischan
Crischan

Reputation: 228

Looking at the ol.layer.Group, ol.collection and goog.array, none of these set an backwards reference to the layer. So you'll have to dig down trough all the groups, as far as I can see.

Upvotes: 3

Related Questions