[mapserver-users] ---> Creating a new map-extent of a queried point fails <---

Azimuth, Erwin Perik perik at azimuth.nl
Tue Dec 18 04:47:49 EST 2001



Hi All,

I seem to have a problem zooming to a queryd point. Getting the object is 
not a problem, but cannot create a new map-extent so the object is zoomed in.
Getting the extents of the queryd object (point) produces 2 identical 
coords. I create a box around that point and set the extents to that 'box'.

Queryd Layer is OFF by default, but switching that ON later. Not the problem.

Any one a idea? Totally stuck. Have used it before on a polygon-shape 
without any problems, but doing this for a point is not working.
It produces a circle (from class) in the center of the new created map.

Below i have a description of how i have it set up. I use MS3.5 and PHP 
(Win98).

Thanks in advance,

Erwin




********************************
MAIN ROUTINE (snippit):
********************************

GLOBAL $gpoMap;
GLOBAL $value;

// Search for shapeobject, using a distance of eg. 50 to create a box 
around the found extent
// As the object is a point the extent consists of 2 identical coordinates.
// That's why i make a box around the 'point' using:

BoxAroundPoint("C:\phpdev\www\aweb\imagemap\data\city", $value -1, 50);

$img = $gpoMap->Draw();
$url = $img->saveWebImage($img, 0, 0, -1);

echo"<INPUT TYPE=image SRC=$url BORDER=0 WIDTH=600 HEIGHT=450 NAME=zoommap>";


// Create new extent using givven distance
function BoxAroundPoint($shpFileName, $shpIndex, $distance )
{
         global $gpoMap;

         $shapeFileObj = ms_newShapeFileObj($shpFileName, -1 );

         // ** getting extent
          $shapeExtObj = $shapeFileObj->getExtent( $shpIndex );

         // ** new extent using 'distance'
          $minx = ( $shapeExtObj->minx ) - $distance;
          $miny = ( $shapeExtObj->miny ) - $distance;
          $maxx = ( $shapeExtObj->maxx ) + $distance;
          $maxy = ( $shapeExtObj->maxy ) + $distance;

         // ** seting the new extents of the map object
          $gpoMap->SetExtent( $minx, $miny, $maxx, $maxy );
}


********************************
MAP-LAYER:
********************************

LAYER
   NAME 'city-search'                    # for searching city
   TYPE POINT
   DATA city
   STATUS OFF
   CLASS
     NAME 'mykey'
     SYMBOL "circle"
     SIZE 12
   END
   CLASSITEM "mykey"             # Namas item from dbase file
END




More information about the mapserver-users mailing list