I have a map with 3 layers: 1 base layer, 1 overlay and 1 WFS layer. I load them like this:
map.addLayers([baseLayer, wfsLayer, overlayLayer]);
When an user clicks on the map it should select the feature on the WFS layer. So I have added the select control after calling map.addLayers:
selectControl = new OpenLayers.Control.SelectFeature(
[wfsLayer],
{
clickout: true, toggle: false,
multiple: false, hover: false
}
);
map.addControl(selectControl);
selectControl.activate();
This works great, my features get selected when clicked.
But my overlay layer is beneath the WFS layer and I want it to be on top. The overlay layer is a non-filled polygon layer. So I added
map.setLayerZIndex(overlayLayer, map.Z_INDEX_BASE[ "Feature" ]+10);
after map.addLayers. This looks OK. My overlay layer is now above my WFS layer. But when I now click on the map, nothing gets selected.
Most likely I'm not doing it right. How can I make my overlay layer on top and my WFS layer selectable?
[EDIT]
As mentioned by Christophe I tried
selectControl = new OpenLayers.Control.SelectFeature(
[wfsLayer, overlayLayer],
{
clickout: true, toggle: false,
multiple: false, hover: false
}
);
But that resulted in an OL Error, probably because the overlay layer is a WMS layer.
[EDIT #2]
I've reposted this question at https://gis.stackexchange.com/questions/59619/select-features-of-layer-which-is-not-on-top-in-openlayers
[wfsLayer, overlayLayer]
– Christophe Roussy