[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