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

svn_mapbender at osgeo.org svn_mapbender at osgeo.org
Sat Dec 12 08:20:12 EST 2009


Author: christoph
Date: 2009-12-12 08:20:11 -0500 (Sat, 12 Dec 2009)
New Revision: 5170

Modified:
   trunk/mapbender/http/javascripts/mod_doubleclickZoom.js
Log:
bugfix : use slippy map

Modified: trunk/mapbender/http/javascripts/mod_doubleclickZoom.js
===================================================================
--- trunk/mapbender/http/javascripts/mod_doubleclickZoom.js	2009-12-12 13:18:31 UTC (rev 5169)
+++ trunk/mapbender/http/javascripts/mod_doubleclickZoom.js	2009-12-12 13:20:11 UTC (rev 5170)
@@ -41,35 +41,45 @@
 	
 			var mapObject = Mapbender.modules[currentTarget];
 			
-			var zoom = function (lastScrollPosition, zoomIn) {
+			var zoomTo = function (lastScrollPosition, zoomIn) {
 				var pos = mapObject.convertPixelToReal(lastScrollPosition);
-				var extentAfterZoom = this.calculateExtentAfterZoom(
+				var extentAfterZoom = mapObject.calculateExtentAfterZoom(
 					zoomIn, 
 					2.0, 
 					pos.x, 
 					pos.y
 				);
-		
-				var newPos = mapObject.convertPixelToReal(
-					lastScrollPosition,
+				var newPos = mapObject.convertRealToPixel(
+					pos,
 					extentAfterZoom
 				);
-				this.zoom(false, 1.0, newPos.x, newPos.y);
+				var diff = newPos.minus(lastScrollPosition);
 				
+				var newSouthEast = mapObject.convertPixelToReal(
+					(new Point(0, mapObject.getHeight())).plus(diff),
+					extentAfterZoom
+				);
+				var newNorthWest = mapObject.convertPixelToReal(
+					(new Point(mapObject.getWidth(), 0)).plus(diff),
+					extentAfterZoom
+				);
+				var newExtent = new Mapbender.Extent(newSouthEast, newNorthWest);
+				mapObject.setExtent(newExtent);
+				mapObject.setMapRequest();
 			};
 			
 			//
 			// Zoom out on right double click
 			//
 			mapObject.doubleClickZoomOut = function (lastScrollPosition) {
-				zoom(lastScrollPosition, false);
+				zoomTo(lastScrollPosition, false);
 			};
 			
 			//
 			// Zoom in on left double click
 			//
 			mapObject.doubleClickZoomIn = function (lastScrollPosition) {
-				zoom(lastScrollPosition, true);
+				zoomTo(lastScrollPosition, true);
 			};
 		
 			//



More information about the Mapbender_commits mailing list