#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

