<?php
dl('php_mapscript.dll');
function GMapPix2Geo($nPixPos, $dfPixMin, $dfPixMax, $dfGeoMin, $dfGeoMax,
$nInversePix)
{
$dfWidthGeo = $dfGeoMax - $dfGeoMin;
$dfWidthPix = $dfPixMax - $dfPixMin;
$dfPixToGeo = $dfWidthGeo / $dfWidthPix;
if (!$nInversePix)
$dfDeltaPix = $nPixPos - $dfPixMin;
else
$dfDeltaPix = $dfPixMax - $nPixPos;
$dfDeltaGeo = $dfDeltaPix * $dfPixToGeo;
$dfPosGeo = $dfGeoMin + $dfDeltaGeo;
return ($dfPosGeo);
}
// Default values and configuration
$val_zsize=3;
$check_pan="CHECKED";
$map_path="C:/Programme/ms4w/apps/Test/Test/";
$map_file="map6.map";
$map = ms_newMapObj($map_path.$map_file);
echo ms_GetVersion();
if ( isset($_POST["mapa_x"]) && isset($_POST["mapa_y"])){
$extent_to_set = explode(" ",$_POST["extent"]);
$map->setextent($extent_to_set[0],$extent_to_set[1],
$extent_to_set[2],$extent_to_set[3]);
$my_extent = ms_newrectObj();
$my_extent->setextent($extent_to_set[0],$extent_to_set[1],
$extent_to_set[2],$extent_to_set[3]);
$dfKeyMapXMin = $map->extent->minx;
$dfKeyMapYMin = $map->extent->miny;
$dfKeyMapXMax = $map->extent->maxx;
$dfKeyMapYMax = $map->extent->maxy;
$nClickPixX = doubleval($HTTP_POST_VARS["mapa_x"]);
$nClickPixY = doubleval($HTTP_POST_VARS["mapa_y"]);
$dfWidthPix = 400;
$dfHeightPix = 400;
$nClickGeoX = GMapPix2Geo($nClickPixX, 0, $dfWidthPix, $dfKeyMapXMin,$dfKeyMapXMax, 0);
$nClickGeoY = GMapPix2Geo($nClickPixY, 0, $dfHeightPix, $dfKeyMapYMin,$dfKeyMapYMax, 1);
$my_point3 = ms_newpointObj();
$my_point3->setXY($nClickGeoX,$nClickGeoY);
foreach ( ($map->getAllLayerNames()) as $idx => $Name){
$Layer=$map->getLayerByName($Name);
$Layer->open();
}
$ret = $map->queryByPoint($my_point3,MS_MULTIPLE, -1);
if ($ret==mapserv.MS_SUCCESS){
foreach ( ($map->getAllLayerNames()) as $idx => $Name){
$Layer=$map->getLayerByName($Name);
$Layer->open();
$res = $Layer->getResult(0);
if ($res>0){
$shape = $Layer->getFeature($res->shapeindex,-1);
echo'<pre>';
print_r ($shape->values);
echo'</pre>';
}
}
}
}
$image=$map->draw();
$image_url=$image->saveWebImage();
// $image2=$map->drawQuery();
// $image_url2=$image2->saveWebImage();
$extent_to_html = $map->extent->minx." ".$map->extent->miny." "
.$map->extent->maxx." ".$map->extent->maxy;
?>
<HTML>
<HEAD>
<TITLE>Map 3</TITLE>
</HEAD>
<BODY>
<CENTER>
<FORM METHOD=POST ACTION=<?php echo $HTTP_SERVER_VARS['PHP_SELF']?>>
<INPUT TYPE=IMAGE NAME="mapa" SRC="<?php echo $image_url?>">
<INPUT TYPE=IMAGE NAME="mapb" SRC="<?php echo $image_url2?>">
<INPUT TYPE=TEXT NAME="extent" VALUE="<?php echo $extent_to_html?>">
</FORM>
</CENTER>
</BODY>
</HTML>