#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