#1 Tue 08 March 2011 15:24
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
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
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
Hors ligne