![]() |
||||
|
|
||||
[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 |