Estoy usando GeoServer junto con el predeterminado, construir en GeoWebCache. También estoy utilizando Extjs y GeoExt. Todo está funcionando bien, a excepción de la solicitud de gráficos de la leyenda. Mi código para las capas es el siguiente:
var MyLayer = new OpenLayers.Layer.WMS( "MyLayer",
"http://my-ip-address/geoserver/gwc/service/wms",
{layers: 'MyLayer',transparent: "true",format: "image/png",
tileSize: new OpenLayers.Size(256,256),
tilesOrigin : map.maxExtent.left + ',' + map.maxExtent.bottom },
{ isBaseLayer: false, visibility:false} );
Y para el panel de la leyenda:
var legend = new GeoExt.LegendPanel({
title: "Map Legend",
iconCls: 'legend',
autoScroll: true,
defaults: {
cls: 'legend-item',
baseParams: {FORMAT: 'image/png'}
},
items: []
});
Cada vez que intento abrir este mapa, me aparece el nombre de la capa en mi panel de leyenda, pero no hay ninguna imagen para la leyenda de la capa y firebug da este error:
"NetworkError: 400 Bad Request - http://my-ip-address/geoserver/gwc/service/wms?TRANSPARENT=true&TILESIZE=256,256&TILESORIGIN=72.45,24.45&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetLegendGraphic&EXCEPTIONS=application.ogc.se_xml&LAYER=MyLayer&FORMAT=image/gif&SCALE=2500000.0000000005&FORMAT=image/png "
Entiendo que tendré que sustituir parte de la petición de la URL para GetLegendGraphic. Pero no soy capaz de hacer lo mismo. ¿Podría alguien decirme cómo lograr esto?
- Estoy utilizando GeoServer 2.1.1; GeoWebCache 1.2.6, OpenLayers 2.11, Ext 3.2.1 y GeoExt 1.1.