Dynamic map title

Eric Bridger eric at GOMOOS.ORG
Thu Aug 26 07:11:11 PDT 2004


On Mon, 2004-08-23 at 08:02, Stefanie Weykam wrote:
> Hi again,
> last week, I asked the list how to get a dynamic title on the map. The title
> string depends on the currently displayed theme.
> I got a message back (see below, thanks Sean) but I didn't get any further
> and am still running around in circles. Apparently it is not possible to
> change the feature text.
> I must add, that the string will be passed by a variable, it is not a
> queriable value that belongs to the layer.
>
> As an alternative I have been thinking in keeping a static head line and add
> a dynamic title just above the legend.
> But the look is not too convincing either (limitations in style and most of
> all - string length!).
>
> I also want the title to be embedded in the image object, not just HTML text
> written on top.
>
> Does anybody have a good idea how to work around this limitation?
>
> thanks,
> Stefanie
>
>
> On Aug 16, 2004, at 11:17 AM, Stefanie Weykam wrote:
>
> > Hi all,
> > I have an annotation layer, it contains a point (feature) and a string
> > to
> > label this point.
> > Actually, the string is the title of the map and I want to change it
> > according to the currently displayed theme.
> > Is there any feature object which can be set by MapScript? The Class
> > Reference doesn't mention any. And, how do I change the color of the
> > label?
> > I always get error messages saying that the property (both color and
> > text)
> > don't exist or that the function setRGB() is undefined....???
> > Which objects do have these properties - do I nedd colorObjects?
> > styleObjects?? How do I create them?
> > Thanks,
> > Stefanie
> >
> >  LAYER
> >      NAME       "subtit"
> >      STATUS     ON
> >      TRANSFORM  FALSE
> >      TYPE       ANNOTATION
> >      FEATURE
> >         POINTS  635 10  END
> >         TEXT    "Species Richness"      # "a species name"
> >      END
> >      CLASS
> >         LABEL
> >            TYPE      TRUETYPE
> >            FONT      verdana            # verdana-italic
> >            SIZE      12
> >            POSITION  LL
> >            COLOR     80 130 0           # 160 90 0
> >         END
> >      END
> >  END
> >
> >
>
> Stephanie,
>
> Support for inline features is currently limited.  You cannot
> access a feature once it is in the feature "set".
>
> The thing to do is to leave out the FEATURE block in your map
> file, and insert a new feature as needed:
>
>      p = mapscript.pointObj(635, 10)     # the point
>      s = mapscript.shapeObj(layer.type)  # new shape to hold point
>      l = mapscript.lineObj()             # point must be in a line
>      l.add(p)                            # add point to line
>      s.add(l)                            # add line to shape
>
>      s.text = 'Species Richness'         # label for point
>      layer.addFeature(s)
>
>      layer.draw(map, image)
Stephanie,

I add labels to my maps all the time using addFeature() with no
problems.  First you should make sure that your LAYER works. Set the
status to DEFAULT or make sure you script turns it on or use shp2img on
your map file to see if it shows up.

I think you are missing a STYLE in your CLASS. Try adding STYLE END in
your CLASS block.  Then try removing the FEATURE section.

It does work.

Eric



More information about the MapServer-users mailing list