Erweiterter Permalink
Der erweiterten Permalink (xlayers=) berücksichtig nur die Layer, die einen Parameter
tragen..parmaId
Bei der Erzeugen des xlayers-Wertes werden zuerst zwei Listen erstellt:
- in die
add
-Liste kommen die Layer, die jetzt aktiviert sind, aber alsvisibility: false
" konfiguriert waren; - in die
remove
-Liste kommen die Layer, die jetzt deaktiviert sind, aber alsvisibility: true
konfiguriert waren.
Die Ids der Layer in den Listen werden jeweils sortiert und aneinandergehängt;
sodann werden add
-Ids und remove
-Ids mit -
verbunden.
Ist die Liste der remove
-Ids leer, entfällt das -
.
Durch diese Konstruktion bleiben XPermalinks auch dann gültig, wenn in der Karte Layer eingefügt, gestrichen oder umsortiert werden.
Zum Selbermachen: HTML-Code mit Erklärung.
Der XPermalink verträgt sich auch mit dem
OpenLayers.Control.LayerChanger:
der LayerChanger kann nicht nur Layers, sondern auch Controls aktivieren und
deaktivieren, und XPermalink kann dann den
Aktivierungstatus von Controls im Permalink speichern.