J'essaie de mettre à niveau ma carte Openlayers 2.12 vers Openlayers 3 pour profiter des effets de transition fantastiques sur les couches transparentes (quelque chose d'OL2 et de Leaflet ne peuvent pas faire de manière attrayante). Cela et je ne veux pas prendre de retard sur la mise à niveau de mes sites lorsque OL3 sera officiellement publié. Dans mon site actuel (OL2.12), j'utilise des cases à cocher dans un simple menu HTML pour basculer la visibilité des couches. Je pousse chaque couche dans un tableau (j'espère avoir raison en pensant que OL3 génère maintenant automatiquement un tableau pour les couches appelées `` couches '') et chaque case à cocher appelle cette fonction (les cases à cocher reçoivent une valeur qui est représentative de leur numéro de tableau de couches ):
function layerswitch(evt){
layers[evt.value].setVisibility(evt.checked);
}
Dans OL3, cela ne fonctionne plus, et je ne trouve aucun exemple ou documentation qui détaille comment définir la visibilité des couches.
la source
Aragon, votre réponse m'a orienté dans la bonne direction. Ci-dessous se trouve mon dernier code impur pour ajouter des couches à un tableau puis les contrôler.
Dans un fichier javascript, j'ai initialisé la carte et utilisé une fonction pour basculer la visibilité comme suit:
Dans le HTML, j'ai utilisé des cases à cocher simples (exemple de bascule poly1):
la source
Vous trouverez ci-dessous un lien vers un module complémentaire d'OpenLayers 3, avec un commutateur de calque de style ol2.
https://github.com/walkermatt/ol3-layerswitcher
la source