Hey Pietro,

thanks for your help. It seems my mapscript version is not up to date, so it doesn't know the ms_shapeObjFromWkt function. But I got it working with the following code. Only problem: It only prints one label, not as many labels, as I have in the array:

$LabelLayerObj = $this->map->getLayerByName($layername);
$labelpointObj = ms_newPointObj();
$labelLineObj = ms_newLineObj();
        
for ($i = 0; $i < count($pointlist); $i++){
                        
        $labelpointObj->setXY(100+($i*2),100+($i*2));
        $labelLineObj ->add($labelpointObj);
        $labelshp = ms_newShapeObj(MS_SHAPE_POINT);
        $labelshp->set("text", $pointlist[$i] );
        $labelshp->add($labelLineObj);
}
                
$LabelLayerObj->addFeature($labelshp);

So if I know how to print more than one label, I would be very happy! :-)

cheers
Joerg






[EMAIL PROTECTED] schrieb:
Hi Joerg,

try:

        $oMap = ms_newMapObj("your.map");
        // obtain the layer object:
        $oLay = $oMap->getLayerByName("citylabels");
        // obtain a shape object with the fields of a form (in this case they 
are
named 'X' and 'Y'):
        $oShape = ms_shapeObjFromWkt("POINT(".$_REQUEST['X']."
".$_REQUEST['Y'].")");
        // set the text property of the shape object:
        $oShape->set("text","ciao");
        // add the shape to the layer:
        $oLay->addFeature($oShape);
        // draw the map:
        $oImage = $oMap->draw();
        $mapImage_url = $oImage->saveWebImage();

I tried and it works well.
You can create how many features you want.
Hope it is useful...

ciao
.............................pg




Pietro Giannini
Bytewise srl - Area GIS
41°50'38.58"N 12°29'13.39"E




Hello,

I have this simple layer:
LAYER
        NAME "citylabels"
        STATUS DEFAULT
        TRANSFORM FALSE
        TYPE ANNOTATION
        FEATURE
                POINTS
                        200 150
                END
                TEXT 'Hello world.  Mapserver rocks.'
        END
        CLASS
                LABEL
                        TYPE BITMAP
                        COLOR 0 0 0
                END
        END
END

and would like to set the place and the text dynamically with
php-mapscript.
Does anybody have a simple codesnippet?

best regrads
Joerg



Pietro Giannini
Bytewise srl - Area GIS
41°50'38.58"N 12°29'13.39"E


Reply via email to