#1 Fri 24 April 2009 11:49
- Maxime31
- Participant assidu
- Date d'inscription: 3 Sep 2008
- Messages: 175
[OpenLayers] Grouper les couches ?
Bonjour à tous,
J'aurai voulu savoir comment on faisait pour préciser à OpenLayers que certaines couches appartiennent à un même groupe de couches.
Dans le mapfile, j'ai mis : GROUP "test", pour chaque couche du groupe, mais quand je veux l'afficher avec OpenLayers, les couches sont toujours affichées une par une.
Voila...si quelqu'un a une idée...
Merci.
Dernière modification par Maxime31 (Fri 24 April 2009 11:49)
Hors ligne
#2 Fri 24 April 2009 12:01
Re: [OpenLayers] Grouper les couches ?
bonjour,
Quel est le code côté OL ? J'utilise cette technique aussi et cela fonctionne.
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 Fri 24 April 2009 12:11
- Maxime31
- Participant assidu
- Date d'inscription: 3 Sep 2008
- Messages: 175
Re: [OpenLayers] Grouper les couches ?
Voila le code OL (les deux couches qui devraient être groupées sont Communes et Zones inondables) :
Code:
<html> <head> <title>Interface Carto SMEAG</title> <link rel="stylesheet" type="text/css" href="style.css" /> <script src="OpenLayers-2.7/lib/OpenLayers.js"></script> <script defer="defer" type="text/javascript"> var map; function main(){ map= new OpenLayers.Map('map', {maxExtent:new OpenLayers.Bounds(416635, 1729996, 685832, 1934314), maxResolution: 'auto', units:'meters', projection:'EPSG:27593'}); map.addControl(new OpenLayers.Control.Scale()); map.addControl(new OpenLayers.Control.ZoomToMaxExtent()); map.addControl(new OpenLayers.Control.MousePosition()); map.addControl(new OpenLayers.Control.LayerSwitcher()); map.addControl(new OpenLayers.Control.EditingToolbar()); var wms4 = new OpenLayers.Layer.WMS("Communes", "http://localhost/cgi-bin/mapserv.exe?map=c:/ms4w/Apache/htdocs/projet_test/natura.map", {layers: "communes", transparent:true}); map.addLayer(wms4); var wms5 = new OpenLayers.Layer.WMS("Zones inondables", "http://localhost/cgi-bin/mapserv.exe?map=c:/ms4w/Apache/htdocs/projet_test/natura.map", {layers: "zi", transparent:true}, {opacity:0.3}); map.addLayer(wms5); var wms = new OpenLayers.Layer.WMS("Périmètre original", "http://localhost/cgi-bin/mapserv.exe?map=c:/ms4w/Apache/htdocs/projet_test/natura.map", {layers: "perimetre_original", transparent:true}); map.addLayer(wms); var wms6 = new OpenLayers.Layer.WMS("Scan 25", "http://localhost/cgi-bin/mapserv.exe?map=c:/ms4w/Apache/htdocs/projet_test/natura.map", {layers: "scan25"}); map.addLayer(wms6); map.zoomToMaxExtent(); } </script> </head> <body onload="main();"> <table width="1000" border="4"> <tr> <td colspan="2" align="center" bgcolor="red"><h1>Interface Carto SMEAG</h1></td> </tr> <tr> <td align="center" bgcolor="blue">Menu</td> <td align="center"><div style="width:800px; height:500px" id="map"></div></td> </tr> <tr> <td align="center" colspan="2" bgcolor="yellow">Sources</td> </tr> </table> </body> </html>
Hors ligne
#4 Fri 24 April 2009 12:13
Re: [OpenLayers] Grouper les couches ?
Maxime,
Si tu n'appelles pas ta couche "test" elle n'apparaîtra pas
Code:
var wms4 = new OpenLayers.Layer.WMS("Communes", "http://localhost/cgi-bin/mapserv.exe?map=c:/ms4w/Apache/htdocs/projet_test/natura.map", {layers: "test", transparent:true}); map.addLayer(wms4);
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
#5 Fri 24 April 2009 12:23
- Maxime31
- Participant assidu
- Date d'inscription: 3 Sep 2008
- Messages: 175
Re: [OpenLayers] Grouper les couches ?
Ok effectivement ca marche !
Mais en fait, ce n'est pas exactement ce que je veux. En fait, je voudrais pouvoir cette possibilité de masquer ou afficher les deux couches en même temps mais aussi pouvoir quand même choisir d'en afficher l'une sans l'autre.
Quelquechose dans ce style :
v test
v communes
v zi
(v correspondant à une case cochée)
ou encore comme cela :
v test
communes
v zi
En fait, c'est plus une question de présentation.
Est-ce possible ?
Dernière modification par Maxime31 (Fri 24 April 2009 12:24)
Hors ligne
#6 Fri 24 April 2009 13:31
Re: [OpenLayers] Grouper les couches ?
Ce genre de chose ne peut être fait qu'en dehors d'OL. Tu dois créer ta propre structure et faire en sorte que lorsque tu coches la case du groupe, les cases des couches du groupe sont cochées aussi. Chaque "input" permettant d'activer ou désactiver la couche lors d'un événement onClick par exemple.
Mais tu dois aussi faire en sorte que lorsque toutes les couches d'un groupe sont cochées, la case du groupe soit aussi cochée.
Bref, du code JavaScript à écrire
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
#7 Mon 27 April 2009 10:53
Re: [OpenLayers] Grouper les couches ?
Maxime,
J'ai réuni ta dernière question concernant le tuilage des ortho dans le thread où tu avais commencé à poser des questions : http://georezo.net/forum/viewtopic.php?id=60460 afin de garder une logique.
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
#8 Mon 27 April 2009 11:46
- Maxime31
- Participant assidu
- Date d'inscription: 3 Sep 2008
- Messages: 175
Re: [OpenLayers] Grouper les couches ?
Oui c'est vrai désolé...
Mais merci ca marche !
Hors ligne