<html>
Hi Jim,<br><br>
mabe have a look at the Rosa applet --&gt;
<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>
&nbsp;<br>
&nbsp;<br>
<font face="arial" size=2>php_mapscript</font><br>
<font face="arial" size=2>2 month old build of
mapserver_nightly</font><br>
&nbsp;<br>
<font face="arial" size=2>-jb-</font><br>
&nbsp;<br>
&nbsp;<br>
<font face="arial" size=2>&nbsp;session_start();<br>
&nbsp; dl(&quot;php_mapscript.so&quot;);</font><br>
&nbsp;<br>
<font face="arial" size=2>require 'config.php';<br>
$dfMinX = $CUREXTENT[minx];<br>
&nbsp; $dfMinY = $CUREXTENT[miny];<br>
&nbsp;&nbsp; $dfMaxX = $CUREXTENT[maxx];<br>
&nbsp;&nbsp;&nbsp; $dfMaxY = $CUREXTENT[maxy];</font><br>
&nbsp;<br>
<font face="arial" size=2><br>
$mapObj = ms_newMapObj(&quot;$mapfilePath/$mapfile.map&quot;);<br>
&nbsp;<br>
######Loop through to display checkboxes for layers, loop the lay_name
array and lay_stats arrays###<br>
&nbsp;for ($i = 0; $i &lt;= ( count ($lay_name_array) -1 ); $i++) {<br>
&nbsp; $layerObj = $mapObj-&gt;getLayerByName($lay_name_array[$i]);<br>
&nbsp; $layerObj-&gt;set(&quot;status&quot;,$lay_status_array[$i]);<br>
&nbsp; #$layerObj-&gt;free();<br>
&nbsp;}<br>
######END#####################################################<br>
</font>&nbsp;<br>
<font face="arial" size=2>&nbsp;
$mapObj-&gt;setExtent($CUREXTENT[minx],$CUREXTENT[miny],$CUREXTENT[maxx],$CUREXTENT[maxy]);<br>
&nbsp;&nbsp; $nClickGeoX = GMapPix2Geo(intval($map_x), 0, $width,
$dfMinX, $dfMaxX, 0);<br>
&nbsp;&nbsp;&nbsp; $nClickGeoY = GMapPix2Geo(intval($map_y), 0, $height,
$dfMinY, $dfMaxY, 1);<br>
&nbsp;&nbsp;&nbsp;&nbsp; $ptClicked = ms_newPointObj();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $ptClicked-&gt;setXY($nClickGeoX,
$nClickGeoY);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $queryObj =
$mapObj-&gt;queryByPoint( $ptClicked,MS_SINGLE,0 );<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $gbShowQueryResults =
TRUE;<br>
#print&quot; $map $map_x $map_y $dataPath \n&quot;;</font><br>
&nbsp;<br>
<font face="arial" size=2>$img = $mapObj-&gt;drawQuery();</font><br>
&nbsp;<br>
<font face="arial" size=2>header(&quot;Cache-Control: no-cache,
must-revalidate&quot;);<br>
header(&quot;Pragma: no-cache&quot;);<br>
header(&quot;content-type: image/png&quot;);<br>
$img-&gt;saveImage(&quot;&quot;,MS_PNG,0,0, 100);<br>
</font>&nbsp;<br>
&nbsp;<br>
&nbsp;<br>
<font face="arial" size=2>function GMapPix2Geo($nPixPos, $dfPixMin,
$dfPixMax, $dfGeoMin, $dfGeoMax, $nInversePix)<br>
&nbsp;{<br>
&nbsp;&nbsp;&nbsp; $dfWidthGeo = $dfGeoMax - $dfGeoMin;<br>
&nbsp;&nbsp;&nbsp; $dfWidthPix = $dfPixMax - $dfPixMin;<br>
&nbsp;&nbsp;&nbsp; $dfPixToGeo = $dfWidthGeo / $dfWidthPix;<br>
&nbsp;&nbsp;&nbsp; if (!$nInversePix)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $dfDeltaPix = $nPixPos -
$dfPixMin;<br>
&nbsp;&nbsp;&nbsp; else<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $dfDeltaPix = $dfPixMax -
$nPixPos;<br>
&nbsp;&nbsp;&nbsp; $dfDeltaGeo = $dfDeltaPix * $dfPixToGeo;<br>
&nbsp;&nbsp;&nbsp; $dfPosGeo = $dfGeoMin + $dfDeltaGeo;<br>
&nbsp;&nbsp;&nbsp; return ($dfPosGeo);<br>
&nbsp;}<br>
</font>&nbsp;<br>
<font face="arial" size=2>&nbsp;</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>