apply patch from #1106, minor tweaks for performance. (Closes #1106)

git-svn-id: http://svn.openlayers.org/trunk/openlayers@5243 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
Paul Spencer
2007-11-21 20:14:50 +00:00
parent a13cacdde9
commit 24d4fdc1bd
+13 -8
View File
@@ -341,6 +341,10 @@ OpenLayers.Layer.Grid = OpenLayers.Class(OpenLayers.Layer.HTTPRequest, {
var rowidx = 0; var rowidx = 0;
var layerContainerDivLeft = parseInt(this.map.layerContainerDiv.style.left);
var layerContainerDivTop = parseInt(this.map.layerContainerDiv.style.top);
do { do {
var row = this.grid[rowidx++]; var row = this.grid[rowidx++];
if (!row) { if (!row) {
@@ -360,10 +364,10 @@ OpenLayers.Layer.Grid = OpenLayers.Class(OpenLayers.Layer.HTTPRequest, {
tileoffsetlat + tilelat); tileoffsetlat + tilelat);
var x = tileoffsetx; var x = tileoffsetx;
x -= parseInt(this.map.layerContainerDiv.style.left); x -= layerContainerDivLeft;
var y = tileoffsety; var y = tileoffsety;
y -= parseInt(this.map.layerContainerDiv.style.top); y -= layerContainerDivTop;
var px = new OpenLayers.Pixel(x, y); var px = new OpenLayers.Pixel(x, y);
var tile = row[colidx++]; var tile = row[colidx++];
@@ -560,13 +564,14 @@ OpenLayers.Layer.Grid = OpenLayers.Class(OpenLayers.Layer.HTTPRequest, {
*/ */
shiftRow:function(prepend) { shiftRow:function(prepend) {
var modelRowIndex = (prepend) ? 0 : (this.grid.length - 1); var modelRowIndex = (prepend) ? 0 : (this.grid.length - 1);
var modelRow = this.grid[modelRowIndex]; var grid = this.grid;
var modelRow = grid[modelRowIndex];
var resolution = this.map.getResolution(); var resolution = this.map.getResolution();
var deltaY = (prepend) ? -this.tileSize.h : this.tileSize.h; var deltaY = (prepend) ? -this.tileSize.h : this.tileSize.h;
var deltaLat = resolution * -deltaY; var deltaLat = resolution * -deltaY;
var row = (prepend) ? this.grid.pop() : this.grid.shift(); var row = (prepend) ? grid.pop() : grid.shift();
for (var i=0; i < modelRow.length; i++) { for (var i=0; i < modelRow.length; i++) {
var modelTile = modelRow[i]; var modelTile = modelRow[i];
@@ -579,9 +584,9 @@ OpenLayers.Layer.Grid = OpenLayers.Class(OpenLayers.Layer.HTTPRequest, {
} }
if (prepend) { if (prepend) {
this.grid.unshift(row); grid.unshift(row);
} else { } else {
this.grid.push(row); grid.push(row);
} }
}, },
@@ -612,9 +617,9 @@ OpenLayers.Layer.Grid = OpenLayers.Class(OpenLayers.Layer.HTTPRequest, {
var tile = prepend ? this.grid[i].pop() : this.grid[i].shift(); var tile = prepend ? this.grid[i].pop() : this.grid[i].shift();
tile.moveTo(bounds, position); tile.moveTo(bounds, position);
if (prepend) { if (prepend) {
this.grid[i].unshift(tile); row.unshift(tile);
} else { } else {
this.grid[i].push(tile); row.push(tile);
} }
} }
}, },