Hi,

Thanks a lot for all your help. I am getting the legend using a mode=legend request to the mapserver.

It would be great if someone could help me as to how to refresh the legend when the user pans or zooms.
Thanks a lot for your help.

Regards,
Subha

Fawcett, David wrote:
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:* mapserver-users@lists.osgeo.org
    *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] <mailto:[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]>
               [mailto:[EMAIL PROTECTED]
            <mailto:[EMAIL PROTECTED]>] *On
            Behalf Of
               *Roger André
               *Sent:* Tuesday, October 07, 2008 12:06 PM
               *To:* Steve Lime
               *Cc:* mapserver-users@lists.osgeo.org
            <mailto:mapserver-users@lists.osgeo.org>
               *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]>
            <mailto:[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]>
                   <mailto:[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]>
                   <mailto:[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
                   > mapserver-users@lists.osgeo.org
            <mailto:mapserver-users@lists.osgeo.org>
                   <mailto:mapserver-users@lists.osgeo.org
            <mailto:mapserver-users@lists.osgeo.org>>
                   >
            http://lists.osgeo.org/mailman/listinfo/mapserver-users
                   >
                   >
                   >


                   _______________________________________________
                   mapserver-users mailing list
                   mapserver-users@lists.osgeo.org
            <mailto:mapserver-users@lists.osgeo.org>
                   <mailto:mapserver-users@lists.osgeo.org
            <mailto:mapserver-users@lists.osgeo.org>>
                   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
            mapserver-users@lists.osgeo.org
            <mailto:mapserver-users@lists.osgeo.org>
            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
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users

Reply via email to