![]() |
||||
|
|
||||
[maplab-users] Patch to add URL paramsPaul Spencer pgs@magma.caSat, 07 Sep 2002 12:37:40 -0400
|
||||
Steven, I'll take a look at this and let you know if we include it or
not. We are going to be doing a major overhaul of gmapfactory and
mapbrowser shortly, so it would happen as part of that work I suspect.
Cheers,
Paul
woodbri@swoodbridge.com wrote:
> 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.
>
>
>
> ------------------------------------------------------------------------
>
> 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
--
Paul Spencer
Applications and Software Development
DM Solutions Group
This archive was generated by Pipermail. |
MapTools.org -- Hosted by DM Solutions Group |