Dynamic Maptitle

Gerjan Walrecht WalrechtG at VERTIS.NL
Wed Jul 27 04:44:58 PDT 2005


List,

With the help of Martin Meirink (Thank you, Martin) I've got what I needed.
The solution is somewhat different then Sefanie's solution:

In the mapfile add an empty feature layer:

----------------Begin part of mapfile ----------------------------
LAYER
  NAME titel
  STATUS DEFAULT
  TRANSFORM FALSE
  TYPE ANNOTATION
  CLASS
    LABEL
     TYPE TRUETYPE
     FONT "arial"
     SIZE 11
     ANTIALIAS TRUE
     COLOR 0 0 0
     backgroundcolor 255 204 204 
     backgroundshadowcolor 255 153 204 
     backgroundshadowsize 5 3  
    END
  END
END

----------------End part of mapfile ----------------------------

In the url you can add:
  &map_titel_feature=new
To create a new feature

Also add:
  &map_titel_feature_points=360+8
To place a (label) point in the new feature

Last but not least add:
  &map_titel_feature_text=+your+title+here+++
To add the title

In the last part, one can also use parameters which was what we needed
In the mapfile you can define the label settings like color, etc.


Gerjan

-----Original Message-----
From: Stefanie Weykam [mailto:sweykam at teleline.es]
Sent: 26 juli 2005 16:34
To: UMN MapServer Users List
Cc: Gerjan Walrecht
Subject: [SPAM: 8.0/6.0] RE: Dynamic Maptitle



Gerjan, 
Here comes an extract of my function. I took the database query part and
some other conditions out, so things get hopefully clearer. 
I don't remember why I had to create a line object, but it works. Don't
forget to draw the map after you modified the layer.
You can see how it works here:
http://www.vertebradosibericos.org/aves/atlas/presentacion.html
(click on 'mapas de distribución...') 
good luck!
Stefanie

###### change the map title #######

# not shown here:
# establish conection to the database to get the new parameter for the title

# query result returns an array; $arrayVal[0] is the scientific name of the 
# species I am looking for (is 'year' for you)
# $specname=$arrayVal[0]


# get layer parameters from map file
   $subtitESP=$map->getLayerByName('subtitESP');

# create class object using the existing class parameters 
   $oClass=$subtitESP->getClass(0);  
# ..and set label font and size (only if you wish to change them)      
   $oClass->label->set('font', 'verdana-italic'); 

# create a point and a line object (line object will have only one point
here)
   $oP=ms_newPointObj();                 
   $oL=ms_newLineObj();
# create shape object
   $shape=ms_newShapeObj(MS_SHAPE_POINT); 

# set coords of the point and add it to the line, then add line to the
shape-object
   $oP->setXY(352,5);  
   $oL->add($oP);
   $shape->add($oL);

# asign the new name (year in your case)
   $shape->set('text', $specname);

# add the layer feature to the shape, switch layer on and draw it
   $subtitESP->addFeature($shape);
   $subtitESP->set('status', 1);
   $img=$map->draw();          
   $subtitESP->draw($img);

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mapserver-users/attachments/20050727/ea46cdc6/attachment.htm>


More information about the MapServer-users mailing list