banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oubliĂ© ?

#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

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 10053
Site web

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

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 10053
Site web

Re: [OpenLayers] Grouper les couches ?

Maxime,

Si tu n'appelles pas ta couche "test" elle n'apparaĂźtra pas wink

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

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 10053
Site web

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 wink

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

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 10053
Site web

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

 

Pied de page des forums

Copyright Association GeoRezo