If the layer status is not set to default, you can add it to the URL call e.g. 
&layer=countries
 
If you want the legend to refresh every time a user pans or zooms, you will 
want to have code that watches for the moveend event and updates the legend 
div.  Turns out, the example post that you cited may not be the best way to do 
it, but I am quite familiar with it...
 
David.

        -----Original Message-----
        From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Roger 
André
        Sent: Wednesday, October 08, 2008 12:58 PM
        To: Subha Ramakrishnan
        Cc: [email protected]
        Subject: Re: [mapserver-users] Creating legend
        
        
        Hi Subha,
        
        I think for the "mode=legend" to work, you need to change the LAYER 
status to DEFAULT.  However, you can test the legend function via WMS request 
without changing the status by using a request similar to this: (linebreaks 
added for clarity)
        
        http://localhost/cgi-bin/mapserv?map=/var/www/mapfiles/states/states.map
        &service=wms
        &version=%221.1.1%22
        &request=GetLegendGraphic
        &layer=countries
        &styles=
        &width=60
        &height=40
        &format=png
        
        Roger
        --
        
        
        On Tue, Oct 7, 2008 at 11:38 PM, Subha Ramakrishnan <[EMAIL PROTECTED]> 
wrote:
        

                Fawcett, David wrote:
                

                        Or, just a straight mode=legend request to the CGI if 
you are using MapServer.  You can pass in your extent, that will manage the 
scale-dependent layers.
                        
                        

                Will the map file remain the same for this? I did try using 
mode=legend in my request and added that to a separate DIV.But the request 
doesn't seem to be generating any image.
                This is how my map file looks. I've not pasted the entire 
contents as its too big.
                
                legend
                  status on
                  imagecolor 255 0 0
                  position ul
                 end
                 layer
                  CONNECTIONTYPE postgis
                  name india_states
                  CONNECTION "user=postgres dbname=ibp host=localhost"
                  group world
                  type polygon
                  dump true
                  METADATA
                     "wfs_title" "Factbook Metadata"
                     "gml_include_items" "all"
                     "wms_feature_info_mime_type" "text/html"
                  END
                  template "template.html"
                  projection
                    "init=epsg:4326"
                  end
                  transparency alpha
                  status on
                  data "topology from india_states using unique id using SRID = 
-1"
                      CLASSITEM "state"
                      CLASS
                              NAME "JAMMU & KASHMIR"
                              EXPRESSION "JAMMU & KASHMIR"
                              STYLE
                                      COLOR 191 191 155
                                      OUTLINECOLOR 000 000 000
                                      #antialias true
                              end
                      end
                    CLASS
                              NAME "HIMACHAL"
                              EXPRESSION "HIMACHAL"
                              STYLE
                                      COLOR 245 226 188
                                      OUTLINECOLOR 000 000 000
                                      #antialias true
                              end
                      end                                   
                And this request is like this as per the example i found here 
:http://openlayers.org/pipermail/users/2008-September/007495.html
                var legenddiv = document.createElement('div');
                legenddiv.setAttribute('id','legend');
                legenddiv.innerHTML = '<img src = 
"http://localhost/cgi-bin/mapserv?mode=legend&map='+mapfile+ 
<http://localhost/cgi-bin/mapserv?mode=legend&map=%27+mapfile+> '"</img>';
                document.getElementById('map').appendChild(legenddiv);
                
                Thanks & regards,
                Subha
                       
                

                        David.
                        
                           -----Original Message-----
                           *From:* [EMAIL PROTECTED]
                           [mailto:[EMAIL PROTECTED] *On Behalf Of
                           *Roger André
                           *Sent:* Tuesday, October 07, 2008 12:06 PM
                           *To:* Steve Lime
                           *Cc:* [email protected]
                           *Subject:* Re: [mapserver-users] Creating legend
                        
                           Also, you might want to consider making a separate
                           GetLegendGraphic WMS request and putting the legend 
in a separate
                           DIV element in your web page. 
                           Just an idea.
                           --
                        
                           On Tue, Oct 7, 2008 at 8:22 AM, Steve Lime
                           <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
                           wrote:
                        
                               Visit:
                        
                                
http://www.openlayers.org/dev/examples/example-list.html
                        
                               and search for untiled. There's a "WMS Untiled" 
example you
                               can view the source of. The singleTile option 
goes in the
                               "options" object as opposed the "params" object. 
Params get
                               passed to the WMS service, options are handled 
by OL.
                        
                               Steve
                        
                               >>> Subha Ramakrishnan <[EMAIL PROTECTED]
                               <mailto:[EMAIL PROTECTED]>> 10/07/08 9:58 AM >>>
                               Hi Steve,
                               It would be great if you can give me an example 
or tell me
                               where it is
                               usually set in OL.
                               Thanks for your help.
                        
                               Subha
                        
                               Steve Lime wrote:
                               > There's nothing you have to do on the 
MapServer side. Looks
                               like your OL config is wrong
                               > though. I think 'singleTile' is set in the 
wrong
                               configuration object, perhaps others are in
                               > the wrong place too.
                               >
                               > Steve
                               >
                               >
                               >>>> Subha Ramakrishnan <[EMAIL PROTECTED]
                               <mailto:[EMAIL PROTECTED]>> 10/07/08 1:30 AM >>>
                               >>>>
                               > Hi,
                               >
                               > I am using mapserver 5.0.2 with openlayers.
                               > I've a problem while creating a legend for a 
map from
                               mapserver.When i
                               > try to overlay the image from the mapserver on 
openlayers'
                               base map, the
                               > images are rendered in tiles, and every tile 
has a legend
                               and is limited
                               > by the size of the tile. So, i see lots of 
legends on the
                               map and only
                               > half of them are visible as it is restricted 
by the tile size.
                               >
                               > This is my request to mapserver from openlayers
                               >
                               > var mapfile = layer_tablename+'.map';
                               > twms1 = new OpenLayers.Layer.WMS(
                               > 
layer_tablename,"http://localhost/cgi-bin/mapserv?";,
                               > { map: mapfile,
                               >    transparent: 'true', layers:layer_tablename,
                               >    format: 'image/png',
                               >    projection:"EPSG:4326",reproject:false,
                               >    units: "m",
                               >    singleTile: true
                               > },{numZoomLevels : MaxZoomLevel});
                               > map.addLayer(twms1);
                               >
                               > I am using the option of singleTile. Is there 
any setting to
                               be done in
                               > the map file or mapserver for it render a 
single tile/single
                               legend per
                               > image?
                               >
                               > Thank you.
                               >
                               > Regards,
                               > Subha
                               >
                               > _______________________________________________
                               > mapserver-users mailing list
                               > [email protected]
                               <mailto:[email protected]>
                               > 
http://lists.osgeo.org/mailman/listinfo/mapserver-users
                               >
                               >
                               >
                        
                        
                               _______________________________________________
                               mapserver-users mailing list
                               [email protected]
                               <mailto:[email protected]>
                               
http://lists.osgeo.org/mailman/listinfo/mapserver-users
                        
                        
                        
                        -- 
                        This message has been scanned for viruses and
                        dangerous content by *MailScanner* 
<http://www.mailscanner.info/>, and is
                        believed to be clean.
                        
------------------------------------------------------------------------
                        
                        _______________________________________________
                        mapserver-users mailing list
                        [email protected]
                        http://lists.osgeo.org/mailman/listinfo/mapserver-users
                         
                        



_______________________________________________
mapserver-users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/mapserver-users

Reply via email to