[mapguide-commits] r5312 - in branches/2.2/MgDev/Web/src: mapviewerjava mapviewernet mapviewerphp

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Thu Oct 21 06:00:52 EDT 2010


Author: jng
Date: 2010-10-21 03:00:52 -0700 (Thu, 21 Oct 2010)
New Revision: 5312

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

Modified: branches/2.2/MgDev/Web/src/mapviewerjava/getselectedfeatures.jsp
===================================================================
--- branches/2.2/MgDev/Web/src/mapviewerjava/getselectedfeatures.jsp	2010-10-21 04:57:50 UTC (rev 5311)
+++ branches/2.2/MgDev/Web/src/mapviewerjava/getselectedfeatures.jsp	2010-10-21 10:00:52 UTC (rev 5312)
@@ -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: branches/2.2/MgDev/Web/src/mapviewernet/getselectedfeatures.aspx
===================================================================
--- branches/2.2/MgDev/Web/src/mapviewernet/getselectedfeatures.aspx	2010-10-21 04:57:50 UTC (rev 5311)
+++ branches/2.2/MgDev/Web/src/mapviewernet/getselectedfeatures.aspx	2010-10-21 10:00:52 UTC (rev 5312)
@@ -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: branches/2.2/MgDev/Web/src/mapviewerphp/getselectedfeatures.php
===================================================================
--- branches/2.2/MgDev/Web/src/mapviewerphp/getselectedfeatures.php	2010-10-21 04:57:50 UTC (rev 5311)
+++ branches/2.2/MgDev/Web/src/mapviewerphp/getselectedfeatures.php	2010-10-21 10:00:52 UTC (rev 5312)
@@ -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