OpenLayers: aktuellen Karten-Layer ermitteln?

Hallo allerseits,

bin neu hier im Forum.

Nachdem ich bisher nur gemappt habe, möchte ich jetzt etwas mit OpenLayers experimentieren. Klappt anhand der zahlreichen Beispiele im Web auch schon ganz gut.

Aber zu folgender Fragestellung habe ich nix gefunden: Wie kann ich ermitteln, welcher Karten-Layer gerade aktiv ist, also vom User mit dem OpenLayers.Control.LayerSwitcher() ausgewählt wurde.

Ich hoffe, ich bin mit meiner Fragestellung an dieser Stelle nicht ganz falsch.

Gruß
Markus

Hi Markus,

versuch es mal so:


var layers = map.getLayersBy("visibility", true);
var activeLayer = null;
for (var i=0, len=layers.length; i<len;i++) {
   if (layers[i].isBaseLayer === false) {
       activeLayer = layers[i];
   }
}
alert(activeLayer.name);

hab ich hier gefunden aber nicht selber getestet.

Gruss
walter

Hi Walter,

Danke für die schnelle Antwort.

Damit wird mir “Marker” ausgegeben, also der Marker-Layer.

also das erste aktive Overlay - das woll’n mer ja net.

dreh mal in der 4.Zeile false nach true - kommt mir eh komisch vor

Hat geklappt! Vielen Dank Walter!

Hab’ noch ein bisschen rumexperimentiert und siehe da: “alert(map.baseLayer.name)” gibt auch den aktuellen Karten-Layer aus.