<html>
Hi Jim,<br><br>
mabe have a look at the Rosa applet -->
<a href="http://www2.dmsolutions.ca/webtools/rosa/rosa_gallery.html" eudora="autourl">http://www2.dmsolutions.ca/webtools/rosa/rosa_gallery.html</a><br>
Here you'll find a full working php-version (java) which also uses the
option to highlight and select and objects like parcels.<br><br>
Good luck,<br><br>
Erwin<br><br>
<br><br>
At 15:30 29-10-01 -0500, Jim Burnett wrote:<br>
<blockquote type=cite class=cite cite><font face="arial" size=2>I am
using this function for selecting, and highlighting parcels, however when
I do select a parcel, the hole map seems to shift down, and to the right
a little. Not sure who wrote this function though. Any
sugestions?</font><br>
<br>
<br>
<font face="arial" size=2>php_mapscript</font><br>
<font face="arial" size=2>2 month old build of
mapserver_nightly</font><br>
<br>
<font face="arial" size=2>-jb-</font><br>
<br>
<br>
<font face="arial" size=2> session_start();<br>
dl("php_mapscript.so");</font><br>
<br>
<font face="arial" size=2>require 'config.php';<br>
$dfMinX = $CUREXTENT[minx];<br>
$dfMinY = $CUREXTENT[miny];<br>
$dfMaxX = $CUREXTENT[maxx];<br>
$dfMaxY = $CUREXTENT[maxy];</font><br>
<br>
<font face="arial" size=2><br>
$mapObj = ms_newMapObj("$mapfilePath/$mapfile.map");<br>
<br>
######Loop through to display checkboxes for layers, loop the lay_name
array and lay_stats arrays###<br>
for ($i = 0; $i <= ( count ($lay_name_array) -1 ); $i++) {<br>
$layerObj = $mapObj->getLayerByName($lay_name_array[$i]);<br>
$layerObj->set("status",$lay_status_array[$i]);<br>
#$layerObj->free();<br>
}<br>
######END#####################################################<br>
</font> <br>
<font face="arial" size=2>
$mapObj->setExtent($CUREXTENT[minx],$CUREXTENT[miny],$CUREXTENT[maxx],$CUREXTENT[maxy]);<br>
$nClickGeoX = GMapPix2Geo(intval($map_x), 0, $width,
$dfMinX, $dfMaxX, 0);<br>
$nClickGeoY = GMapPix2Geo(intval($map_y), 0, $height,
$dfMinY, $dfMaxY, 1);<br>
$ptClicked = ms_newPointObj();<br>
$ptClicked->setXY($nClickGeoX,
$nClickGeoY);<br>
$queryObj =
$mapObj->queryByPoint( $ptClicked,MS_SINGLE,0 );<br>
$gbShowQueryResults =
TRUE;<br>
#print" $map $map_x $map_y $dataPath \n";</font><br>
<br>
<font face="arial" size=2>$img = $mapObj->drawQuery();</font><br>
<br>
<font face="arial" size=2>header("Cache-Control: no-cache,
must-revalidate");<br>
header("Pragma: no-cache");<br>
header("content-type: image/png");<br>
$img->saveImage("",MS_PNG,0,0, 100);<br>
</font> <br>
<br>
<br>
<font face="arial" size=2>function GMapPix2Geo($nPixPos, $dfPixMin,
$dfPixMax, $dfGeoMin, $dfGeoMax, $nInversePix)<br>
{<br>
$dfWidthGeo = $dfGeoMax - $dfGeoMin;<br>
$dfWidthPix = $dfPixMax - $dfPixMin;<br>
$dfPixToGeo = $dfWidthGeo / $dfWidthPix;<br>
if (!$nInversePix)<br>
$dfDeltaPix = $nPixPos -
$dfPixMin;<br>
else<br>
$dfDeltaPix = $dfPixMax -
$nPixPos;<br>
$dfDeltaGeo = $dfDeltaPix * $dfPixToGeo;<br>
$dfPosGeo = $dfGeoMin + $dfDeltaGeo;<br>
return ($dfPosGeo);<br>
}<br>
</font> <br>
<font face="arial" size=2> </blockquote>
<x-sigsep><p></x-sigsep>
<br>
=================<br>
Azimuth Geodetic<br>
Koldingweg 8<br>
9723 HK Groningen<br>
tel. 050-5493454<br>
fax. 050-5497217<br>
=================<br>
<a href="http://www.azimuth.nl/" eudora="autourl">www.azimuth.nl</a><br>
perik@azimuth.nl<br>
=================</font></html>