Ich versuche, meine Openlayers 2.12-Karte auf Openlayers 3 zu aktualisieren, um die fantastischen Übergangseffekte auf transparenten Ebenen zu nutzen (etwas, das OL2 und Leaflet nicht attraktiv machen können). Dies und ich möchten nicht hinter dem Upgrade meiner Websites zurückbleiben, wenn OL3 offiziell veröffentlicht wird. In meiner aktuellen Site (OL2.12) verwende ich Kontrollkästchen in einem einfachen HTML-Menü, um die Sichtbarkeit von Ebenen umzuschalten. Ich schiebe jede Ebene auf ein Array (ich hoffe, ich denke, OL3 generiert jetzt automatisch ein Array für die Ebenen, die als "Ebenen" bezeichnet werden), und jedes Kontrollkästchen ruft diese Funktion auf (Kontrollkästchen erhalten einen Wert, der für die Array-Nummer ihrer Ebenen repräsentativ ist ):
function layerswitch(evt){
layers[evt.value].setVisibility(evt.checked);
}
In OL3 funktioniert dies nicht mehr und ich kann keine Beispiele oder Dokumentationen finden, die detailliert beschreiben, wie die Sichtbarkeit von Ebenen festgelegt wird.
quelle
Aragon, deine Antwort hat mich in die richtige Richtung gelenkt. Unten ist mein endgültiger unreiner Code zum Hinzufügen von Ebenen zu einem Array und zum anschließenden Steuern.
In einer Javascript-Datei habe ich die Karte initialisiert und eine Funktion verwendet, um die Sichtbarkeit wie folgt umzuschalten:
Im HTML habe ich einfache Kontrollkästchen verwendet (Beispiel für poly1 toggle):
quelle
Unten finden Sie einen Link zu einem Add-On zu OpenLayers 3 mit einem Ebenenumschalter im ol2-Stil.
https://github.com/walkermatt/ol3-layerswitcher
quelle