[mapguide-commits] r5314 - in trunk/MgDev/Web/src: mapviewerjava mapviewernet mapviewerphp

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Thu Oct 21 06:10:48 EDT 2010


Author: jng
Date: 2010-10-21 03:10:48 -0700 (Thu, 21 Oct 2010)
New Revision: 5314

Modified:
   trunk/MgDev/Web/src/mapviewerjava/getselectedfeatures.jsp
   trunk/MgDev/Web/src/mapviewernet/getselectedfeatures.aspx
   trunk/MgDev/Web/src/mapviewerphp/getselectedfeatures.php
Log:
Fix #1481: Use center of geometry envelope for zoom location as opposed to the GetCentroid() call.

Modified: trunk/MgDev/Web/src/mapviewerjava/getselectedfeatures.jsp
===================================================================
--- trunk/MgDev/Web/src/mapviewerjava/getselectedfeatures.jsp	2010-10-21 10:08:17 UTC (rev 5313)
+++ trunk/MgDev/Web/src/mapviewerjava/getselectedfeatures.jsp	2010-10-21 10:10:48 UTC (rev 5314)
@@ -390,11 +390,14 @@
                                 {
                                     MgByteReader agf = reader.GetGeometry(propName);
                                     MgGeometry geom = agfRW.Read(agf);
-                                    MgCoordinate pt = geom.GetCentroid().GetCoordinate();
 
+                                    MgEnvelope env = geom.Envelope();
+                                    MgCoordinate ll = env.GetLowerLeftCoordinate();
+                                    MgCoordinate ur = env.GetUpperRightCoordinate();
+
                                     zoom = new ZoomPoint();
-                                    zoom.X = pt.GetX();
-                                    zoom.Y = pt.GetY();
+                                    zoom.X = (ll.GetX() + ur.GetX()) / 2;
+                                    zoom.Y = (ll.GetY() + ur.GetY()) / 2;
 
                                     feat.Zoom = zoom;
                                 }

Modified: trunk/MgDev/Web/src/mapviewernet/getselectedfeatures.aspx
===================================================================
--- trunk/MgDev/Web/src/mapviewernet/getselectedfeatures.aspx	2010-10-21 10:08:17 UTC (rev 5313)
+++ trunk/MgDev/Web/src/mapviewernet/getselectedfeatures.aspx	2010-10-21 10:10:48 UTC (rev 5314)
@@ -335,11 +335,14 @@
                                 {
                                     MgByteReader agf = reader.GetGeometry(propName);
                                     MgGeometry geom = agfRW.Read(agf);
-                                    MgCoordinate pt = geom.Centroid.Coordinate;
 
+                                    MgEnvelope env = geom.Envelope();
+                                    MgCoordinate ll = env.GetLowerLeftCoordinate();
+                                    MgCoordinate ur = env.GetUpperRightCoordinate();
+
                                     zoom = new ZoomPoint();
-                                    zoom.X = pt.X;
-                                    zoom.Y = pt.Y;
+                                    zoom.X = (ll.X + ur.X) / 2;
+                                    zoom.Y = (ll.Y + ur.Y) / 2;
 
                                     feat.Zoom = zoom;
                                 }

Modified: trunk/MgDev/Web/src/mapviewerphp/getselectedfeatures.php
===================================================================
--- trunk/MgDev/Web/src/mapviewerphp/getselectedfeatures.php	2010-10-21 10:08:17 UTC (rev 5313)
+++ trunk/MgDev/Web/src/mapviewerphp/getselectedfeatures.php	2010-10-21 10:10:48 UTC (rev 5314)
@@ -191,11 +191,14 @@
                                     //We want the centroid so we have a zoom-to point
                                     $agf = $fr->GetGeometry($propName);
                                     $geom = $agfRW->Read($agf);
-                                    $pt = $geom->GetCentroid()->GetCoordinate();
 
+                                    $env = $geom->Envelope();
+                                    $ll = $env->GetLowerLeftCoordinate();
+                                    $ur = $env->GetUpperRightCoordinate();
+
                                     $zoom = new ZoomPoint();
-                                    $zoom->x = $pt->GetX();
-                                    $zoom->y = $pt->GetY();
+                                    $zoom->x = ($ll->GetX() + $ur->GetX()) / 2;
+                                    $zoom->y = ($ll->GetY() + $ur->GetY()) / 2;
 
                                     $feat->zoom = $zoom;
                                     //FB::log("zoom: (".$zoom->x.",".$zoom->y.")");



More information about the mapguide-commits mailing list