|
||||
[maplab-users] Patch to add URL paramswoodbri@swoodbridge.com woodbri@swoodbridge.comSat, 7 Sep 2002 00:46:23 -0400
|
--Message-Boundary-14266 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT Content-description: Mail message body Hi all, I patched wrapper/map_navigator.php and app_name.php so you can enter X=long&Y=lat and it will recenter the map on that lat,long this is useful if you want another app to position the map or if you are trying to locate an item in a shapefile by it's location. It should probably be enhanced to optionally pass a DW=width so you can set the width to control the zoom if needed. If your interested in that I can add it and send another diff. It would be great if you guys would look this over and add it to maplab. Thanks, -Steve W. --Message-Boundary-14266 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT Content-description: Text from file 'patch.txt' diff -Naur old/map_navigator.php new/map_navigator.php --- old/map_navigator.php Sat Sep 7 00:31:41 2002 +++ new/map_navigator.php Fri Sep 6 14:47:31 2002 @@ -573,7 +573,36 @@ // end recentre function } + /** + * This function modifies the extents to cause a recentering on the + * requested X, Y co-ordinates. + * + * @parm dX double - The X map co-ordinate to recenter to. + * @parm dY double - The Y map co-ordinate to recenter to. + */ + function goto( $dX, $dY ) + { + // log entry + $this->logFuncStart( LOG_VERBOSE, "goto() starting" ); + + // get current map extents + $dMapMinX = $this->oSession->oMap->extent->minx; + $dMapMinY = $this->oSession->oMap->extent->miny; + $dMapMaxX = $this->oSession->oMap->extent->maxx; + $dMapMaxY = $this->oSession->oMap->extent->maxy; + + // reset extents to be centered on X,Y + $dDX = ($dMapMaxX - $dMapMinX) / 2.0; + $dDY = ($dMapMaxY - $dMapMinY) / 2.0; + $this->oSession->oMap->setextent( $dX-$dDX, $dY-$dDY, $dX+$dDX, $dY+$dDY ); + + // log exit + $this->logFuncEnd( LOG_ALL, "goto() done" ); + + // end goto function + } + // end MapNavigator class } -?> \ No newline at end of file +?> diff -Naur old/vmap0.php new/vmap0.php --- old/vmap0.php Sat Sep 7 00:31:19 2002 +++ new/vmap0.php Fri Sep 6 14:47:15 2002 @@ -178,12 +178,23 @@ } +//check for X,Y goto parameters +if ( strlen( trim( $http_form_vars["X"] ) ) > 0 && + strlen( trim( $http_form_vars["Y"] ) ) > 0 ) +{ + $http_form_vars["ROSA_CMD"] = "GOTO"; + $http_form_vars["INPUT_COORD"] = $http_form_vars["X"] . ";" . + $http_form_vars["Y"]; + +} + // process navigation requests if ( ( ( $http_form_vars['RosaMode'] != 1 && isset( $http_form_vars[ "mainmap_x" ] ) ) || ($http_form_vars['RosaMode'] == 1 ) && $http_form_vars["INPUT_COORD"] != "" && - isset( $http_form_vars["INPUT_COORD"] ) )) + isset( $http_form_vars["INPUT_COORD"] ) ) || + $http_form_vars["ROSA_CMD"] == "GOTO" ) { // check the naviagtion command and process $xNavigate = checkNavigation($oMapNavigator,$http_form_vars["ROSA_CMD"], @@ -332,6 +343,13 @@ // check individual command switch ($szRosaCmd) { + // goto + case "GOTO": + list($dX, $dY) = explode( ";", $szInputCoords ); + $oMapNavigator->goto( $dX, $dY ); + return true; + break; + // zoom in case "ZOOM_IN": //check if for point click --Message-Boundary-14266--
This archive was generated by Pipermail. |
MapTools.org -- Hosted by DM Solutions Group |