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é ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Tue 08 March 2011 15:24

benoist
Participant actif
Lieu: Genève
Date d'inscription: 6 Sep 2005
Messages: 82
Site web

GeoExt - gx_layer pb pour afficher des layers

Bonjour,

Sous GeoExt, j'ai N couches Vecteurs et M couches Raster.
Je souhaite pouvoir afficher dans un tree ces couches avec AUCUNE en baseLayer (pas de radio button donc, seulement des checkBox), avec 2 sous-groupes : "Raster Layers" et "Vector Layers"
J'ai parcouru en détail la doc et les classes sous GeoExt mais n'arrive pas à comprendre car cela manque vraiment d'exemples sans base layers...
Si vous avez des connaissances et d'autres tutoriaux que celui (très bien) réalisé par GeoTribu (http://www.geotribu.net/node/144), je suis preneur.
Merci


Pascal BENOIST- PictureComputer
http://www.picturecomputer.ch

Hors ligne

 

#2 Tue 08 March 2011 20:31

Tony VINCENT
Participant actif
Lieu: Poitiers
Date d'inscription: 13 Jan 2010
Messages: 86

Re: GeoExt - gx_layer pb pour afficher des layers

Bonjour,

Je ne suis pas totalement sur de ma réponse.

Mais il me semble que pour utiliser l'arbre de couche , il faut au moins une couche de base (baseLayer).


Tony

Hors ligne

 

#3 Fri 18 March 2011 11:28

benoist
Participant actif
Lieu: Genève
Date d'inscription: 6 Sep 2005
Messages: 82
Site web

Re: GeoExt - gx_layer pb pour afficher des layers

Merci pour cette (petite) réponse. Je cherche encore et encore.
Voyez-vous ce qui cloche dans l'extrait de mon code suivant?
Pourquoi les Raster Layer ne s'affichent-ils pas dans mon arbre de couche?

    // Raster layers definition
      var osm = new OpenLayers.Layer.OSM.Mapnik(
               "OpenStreetMap"
        ,{projection: new OpenLayers.Projection("EPSG:900913")}
        ,{isBaseLayer: false}
        ,{visibility: false}
        ,{displayInLayerSwitcher: true}
      );
      var gphy = new OpenLayers.Layer.Google(
        "Google Physical",
            {type: google.maps.MapTypeId.TERRAIN}
        ,{projection: new OpenLayers.Projection("EPSG:900913")}
        ,{isBaseLayer: false}
        ,{visibility: false}
        ,{displayInLayerSwitcher: true}
      );
      var gmap = new OpenLayers.Layer.Google(
            "Google Streets", // the default
            {numZoomLevels: 20}
        ,{projection: new OpenLayers.Projection("EPSG:900913")}
        ,{isBaseLayer: false}
        ,{visibility: false}
        ,{displayInLayerSwitcher: true}
      );
      var ghyb = new OpenLayers.Layer.Google(
            "Google Hybrid",
            {type: google.maps.MapTypeId.HYBRID, numZoomLevels: 20}
        ,{projection: new OpenLayers.Projection("EPSG:900913")}
        ,{isBaseLayer: false}
        ,{visibility: false}
        ,{displayInLayerSwitcher: true}
      );
      var gsat = new OpenLayers.Layer.Google(
            "Google Satellite",
            {type: google.maps.MapTypeId.SATELLITE, numZoomLevels: 22}
        ,{projection: new OpenLayers.Projection("EPSG:900913")}
        ,{isBaseLayer: false}
        ,{visibility: true}
        ,{displayInLayerSwitcher: true}
      );

    // Vector layers definition
         var cities = new OpenLayers.Layer.GML(
               'cities',
               '../data/city.gml',
        {
            projection: new OpenLayers.Projection("EPSG:4326")
            ,styleMap: new OpenLayers.StyleMap(
                {'default' : new OpenLayers.Style({
                    externalGraphic :
'../images/city-48x48.png',
                    pointRadius : 14
                    })
                },
                {'select' : new OpenLayers.Style({
                    externalGraphic :
'../images/city-48x48.png',
                    pointRadius : 20
                    })
                }
            )
            ,visibility: false
            ,displayInLayerSwitcher: false
        }
    );

    var treeConfig = new OpenLayers.Format.JSON().write([
        {
                text        : 'Raster Layers'
                  ,nodeType   : 'gx_overlaylayercontainer'
                ,icon       : '../images/maps-stack.png'
                ,expanded   : true
        },
        {
                text        : 'Vector Layers'
                ,icon       : '../images/maps-stack.png'
                ,expanded   : true
                ,children   : [
                    {
                    nodeType    : 'gx_layer'
                    ,draggable  : true
                    ,layer      : 'cities'
                    ,qtip       : 'European Towns'
                    ,icon       : '../images/city-16x16.png'
                    }
            ]
            }
            ], true);

    // Panel creation
    var layerTree = new Ext.tree.TreePanel({
        title: "Legend"
        ,root: {
            nodeType: "async"
            ,expanded: true
            ,children: Ext.decode(treeConfig)
        }
        ,loader: new Ext.tree.TreeLoader({
            applyLoader: false
        })
        ,animate: true
        ,enableDD: true
        ,useArrows: true
        ,rootvisible: false
    });

PictureComputer - Pascal BENOIST


Pascal BENOIST- PictureComputer
http://www.picturecomputer.ch

Hors ligne

 

Pied de page des forums

Powered by FluxBB