[Mapbender-commits] r5274 - trunk/mapbender/http/javascripts

svn_mapbender at osgeo.org svn_mapbender at osgeo.org
Tue Jan 5 11:53:11 EST 2010


Author: christoph
Date: 2010-01-05 11:53:10 -0500 (Tue, 05 Jan 2010)
New Revision: 5274

Modified:
   trunk/mapbender/http/javascripts/map_obj.js
Log:


Modified: trunk/mapbender/http/javascripts/map_obj.js
===================================================================
--- trunk/mapbender/http/javascripts/map_obj.js	2010-01-05 15:45:16 UTC (rev 5273)
+++ trunk/mapbender/http/javascripts/map_obj.js	2010-01-05 16:53:10 UTC (rev 5274)
@@ -239,16 +239,29 @@
      * converts the extent of the mapobject so that the maximum	extent will be displayed
      */
     this.calculateExtent = function(ext){
-        var relation_px_x = this.getWidth() / this.getHeight();
+		var relation_px_x = this.getWidth() / this.getHeight();
         var relation_px_y = this.getHeight() / this.getWidth();
         var relation_bbox_x = ext.extentx / ext.extenty;
-        if (relation_bbox_x <= relation_px_x) {
-            ext.minx = ext.centerx - relation_px_x * ext.extenty / 2;
-            ext.maxx = ext.centerx + relation_px_x * ext.extenty / 2;
+        var oldMin = ext.getSouthWest();
+        var oldMax = ext.getNorthEast();
+
+		if (relation_bbox_x <= relation_px_x) {
+            ext.set(new Point(
+				ext.centerx - relation_px_x * ext.extenty / 2,
+				oldMin.y
+			), new Point(
+				ext.centerx + relation_px_x * ext.extenty / 2,
+				oldMax.y	
+			));
         }
         if (relation_bbox_x > relation_px_x) {
-            ext.miny = ext.centery - relation_px_y * ext.extentx / 2;
-            ext.maxy = ext.centery + relation_px_y * ext.extentx / 2;
+            ext.set(new Point(
+				oldMin.x,
+				ext.centery - relation_px_y * ext.extentx / 2
+			), new Point(
+				oldMax.x,
+				ext.centery + relation_px_y * ext.extentx / 2	
+			));
         }
         
         // Check if ext is within restricted extent
@@ -274,7 +287,7 @@
          }
          }
          */
-        this.setExtent(ext.minx, ext.miny, ext.maxx, ext.maxy);
+        this.setExtent(ext);
         return ext;
     };
     
@@ -489,7 +502,7 @@
         var xtenty = maxy - miny;
         var factor = 0.5;
         
-        switch (direction) {
+        switch (direction.toUpperCase()) {
             case "NW":
                 minx -= (xtentx * factor);
                 maxx -= (xtentx * factor);
@@ -652,7 +665,6 @@
         var xtenty = maxY - minY;
         var deltaX = xtentx / this.width;
         var deltaY = xtenty / this.height;
-        var roundx, roundy;
         
  		var digitsX = Math.round(Math.log(deltaX)/Math.log(10));
 		var digitsY = Math.round(Math.log(deltaY)/Math.log(10));
@@ -663,7 +675,8 @@
 		var posY = parseFloat(maxY - (aPoint.y / this.height) * xtenty);
 		posX = Math.round(posX * roundX) / roundX;
 		posY = Math.round(posY * roundY) / roundY;
-		return new Point(posX.toFixed(-digitsX), posY.toFixed(-digitsY));
+		var pt = new Point(posX.toFixed(-digitsX), posY.toFixed(-digitsY))
+		return pt;
 
     };
     



More information about the Mapbender_commits mailing list