[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