Annonce
Pour sécuriser votre compte sur les forums du GeoRezo, nous demandons de changer votre mot de passe.
Vous allez recevoir un message pour effectuer ce changement de mot de passe.
Merci de bien respecter les règles préconisées.
#1 Wed 07 May 2014 14:12
- drouchi
- Participant occasionnel
- Date d'inscription: 16 Jun 2010
- Messages: 32
Bouton "Display All" openlayer
Bonjour a tous,
J'ai une carte sous openlayer avec une petite dizaine de couche vector (overlay) . J'aimerai creer un bouton qui me permettrai d'afficher toutes mes couches (overlay). Apres de longue recherche je reste toujours bloquer. Dois-je utiliser setVisibility? de quel façon?
Cordialement
Drouchi
Hors ligne
#2 Thu 08 May 2014 15:11
Re: Bouton "Display All" openlayer
Bonjour,
Il te faut faire une boucle sur les couches disponible, tester si elles sont en overlay et si oui définir leur visibilité à true avec la méthode que tu as citée.
Si dans ton code tu as la possibilité de créer une variable qui contient les objets de tes couches (genre var listLayersOverlays[] = monObjet) , ca peut être plus simple et plus rapide.
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#3 Thu 08 May 2014 15:23
- drouchi
- Participant occasionnel
- Date d'inscription: 16 Jun 2010
- Messages: 32
Re: Bouton "Display All" openlayer
Bonjour,
Merci Yves!
En fait, je viens juste de reussir a le faire sans avoir vu ton post . Je ne sais pas trop si mon code est beau car je l'ai construit en copiant de morceau de ci et la, mais il fonctionne!
Code:
function setAllOverlaysVisibility(map) { var layers = map.layers; for(var f=0; f<layers.length; f++){ var layer = layers[f]; if (layer.visibility == false && !layer.isBaseLayer){ layer.setVisibility(true); } else if(!layer.isBaseLayer && layer.visibility == true && layer.name != "YourLayerName"){ layer.setVisibility(false); } } }
Je voulais savoir si il etait possible de mettre le nom du layer dans un variable car pour certain j'ai quelque chose comme cela: "<img src='img/hotels/icon_hotel_4star.png' id='legend' alt='icon 4 stars hotel'/><span class='legendmap2'>Hotels <img src='img/hotels/star_ws.png' alt='star'/><img src='img/hotels/star_ws.png' alt='star'/><img src='img/hotels/star_ws.png' alt='star'/><img src='img/hotels/star_ws.png' alt='star'/></span>"
En tout cas merci pour tous, j'apprecie vraiment l'aide qui peut etre fourni sur ce forum. Merci a tous!!!
Hors ligne
#4 Fri 16 May 2014 11:25
- drouchi
- Participant occasionnel
- Date d'inscription: 16 Jun 2010
- Messages: 32
Re: Bouton "Display All" openlayer
Bonjour,
Je viens de réaliser que la fonction que j'ai créé pour afficher tous les overlays ne fonctionne pas tres bien. Voici le probleme:
Lorsque je click sur mon bouton "Display All" j'ai bien toutes les couches qui s'affichent. Mais lorsque je "pan" la carte mes overlays se décalent par rapport a mon baselayer. Si je sélectionne manuellement tout mes overlays il n'y a aucun problem.
Il semblerait donc que ma fonction perturbe le bon fonctionnement.
Quelqu'un aurait il une idée?
Hors ligne