Dynamic map title

Stefanie Weykam sweykam at TELELINE.ES
Mon Aug 23 08:02:49 EDT 2004


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)

cheers,
Sean

--
Sean Gillies
sgillies at frii dot com
http://users.frii.com/sgillies



More information about the mapserver-users mailing list