[Users] How to create legend panel using OpenLayers.Layer.MapServer layer...
Andreas Hocevar
ahocevar at opengeo.org
Fri Jan 8 16:55:19 CET 2010
stela anders wrote:
> Hello Andreas...
>
> All sublayers is with status ON, they are draw on map, but in my legend
> I got ONLY "Layer1" label printed...
> My layers:
> OpenLayers.Layer.WMS("Layer1",
> mycgi, {
> map: mymapfile,
> layers: ['Sublayer11','Sublayer12', 'Sublayer13'],
> format: "image/png",
> transparent: "true"
> }, {
> isBaseLayer: true,
> visibility: true
> }),
The above should cause three GetFeatureInfo requests to be issued: one
for each of your sublayers. If you just see the label, then MapServer
does not send you an image on the GetFeatureInfo request. Here is what
you can try: enable the Net panel on firebug and look at the
GetFeatureInfo request that the browser issues. Copy them, open them in
a browser window/tab, and fix your mapfile until they work (more help
available in mapserver docs/lists).
>
> OpenLayers.Layer.WMS("Layer2",
> mycgi, {
> map: mymapfile,
> layers: ['Sublayer21','Sublayer22', 'Sublayer23'],
> format: "image/png",
> transparent: "true"
> }, {
> isBaseLayer: false,
> displayInLayerSwitcher: false,
> visibility: true
> }),
This won't display anything, because you have set
"displayInLayerSwitcher" to false.
> So, What is your suggestion in building a legend to Map with GeoExt
> sublayers? I need all sublayers appears on my legend (each one has
> different images...)
The LegendPanel does exactly that. It requests one image per sublayer
(now that you provided a code snippet and I finally know what you meant
by "sublayer"). My suggestion is: fix your mapfile so Mapserver can
answer GetFeatureInfo requests correctly.
Regards,
Andreas.
--
Andreas Hocevar
OpenGeo - http://opengeo.org/
Expert service straight from the developers.
More information about the Users
mailing list