[Commits] r604 - apps/opengeo/geoexplorer/trunk/lib
commits at geoext.org
commits at geoext.org
Tue May 5 22:49:07 CEST 2009
Author: dwins
Date: 2009-05-05 22:49:07 +0200 (Tue, 05 May 2009)
New Revision: 604
Modified:
apps/opengeo/geoexplorer/trunk/lib/CapabilitiesGrid.js
apps/opengeo/geoexplorer/trunk/lib/GeoExplorer.js
Log:
Fix problem where openlayers was requesting invalid tiles even with alignToGrid set to true.
Modified: apps/opengeo/geoexplorer/trunk/lib/CapabilitiesGrid.js
===================================================================
--- apps/opengeo/geoexplorer/trunk/lib/CapabilitiesGrid.js 2009-05-05 19:43:50 UTC (rev 603)
+++ apps/opengeo/geoexplorer/trunk/lib/CapabilitiesGrid.js 2009-05-05 20:49:07 UTC (rev 604)
@@ -100,56 +100,15 @@
* other srs.
*/
layer = record.get("layer");
- layer.maxExtent = OpenLayers.Bounds.fromArray(record.get("llbbox"));
+ layer.restrictedExtent = OpenLayers.Bounds.fromArray(record.get("llbbox"));
if (this.alignToGrid) {
- layer.maxExtent = this.mungeBounds(layer.maxExtent);
- }
-
+ layer.maxExtent = new OpenLayers.Bounds(-180, -90, 180, 90);
+ } else {
+ layer.maxExtent = layer.restrictedExtent;
+ }
this.mapPanel.layers.add(record);
}
- },
-
- mungeBounds: function(bounds) {
- var maxTileSize = 180.0;
-
- var extentSize = Math.max(bounds.getWidth(), bounds.getHeight());
-
- if (extentSize > maxTileSize) {
- return new OpenLayers.Bounds(-180, -90, 180, 90);
- }
-
- var zoomLevel =
- Math.round((Math.log(maxTileSize / extentSize) / Math.log(2)));
- var tileSize = maxTileSize / Math.pow(2, zoomLevel);
-
- var colIndex0 = Math.floor(bounds.left / tileSize);
- var colIndex1 = Math.ceil(bounds.right / tileSize) - 1;
-
- var rowIndex0 = Math.floor(bounds.bottom / tileSize);
- var rowIndex1 = Math.ceil(bounds.top / tileSize) - 1;
-
- while (tileSize < maxTileSize &&
- (colIndex0 != colIndex1 || rowIndex0 != rowIndex1)) {
- tileSize = tileSize * 2;
-
- colIndex0 = Math.floor(bounds.left / tileSize);
- colIndex1 = Math.ceil(bounds.right / tileSize) - 1;
-
- rowIndex0 = Math.floor(bounds.bottom / tileSize);
- rowIndex1 = Math.ceil(bounds.top / tileSize) - 1;
- }
-
- if (tileSize >= maxTileSize) {
- return new OpenLayers.Bounds(-180, -90, 180, 90);
- }
-
- var x0 = colIndex0 * tileSize;
- var y0 = rowIndex0 * tileSize;
- var x1 = x0 + tileSize;
- var y1 = y0 + tileSize;
-
- return new OpenLayers.Bounds(x0, y0, x1, y1);
}
});
Modified: apps/opengeo/geoexplorer/trunk/lib/GeoExplorer.js
===================================================================
--- apps/opengeo/geoexplorer/trunk/lib/GeoExplorer.js 2009-05-05 19:43:50 UTC (rev 603)
+++ apps/opengeo/geoexplorer/trunk/lib/GeoExplorer.js 2009-05-05 20:49:07 UTC (rev 604)
@@ -250,7 +250,7 @@
handler: function() {
var node = layerTree.getSelectionModel().getSelectedNode();
if(node && node.layer) {
- this.map.zoomToExtent(node.layer.maxExtent);
+ this.map.zoomToExtent(node.layer.restrictedExtent);
}
},
scope: this
@@ -355,11 +355,12 @@
// set layer max extent from capabilities
// TODO: make this SRS independent
- layer.maxExtent = OpenLayers.Bounds.fromArray(record.get("llbbox"));
+ layer.restrictedExtent = OpenLayers.Bounds.fromArray(record.get("llbbox"));
if (this.alignToGrid) {
- layer.maxExtent =
- CapabilitiesGrid.prototype.mungeBounds(layer.maxExtent);
+ layer.maxExtent = new OpenLayers.Bounds(-180, -90, 180, 90);
+ } else {
+ layer.maxExtent = layer.restrictedExtent;
}
// set layer visibility from config
More information about the Commits
mailing list