Adjust tiles if already rendered.

This commit is contained in:
Tim Schaub
2012-06-23 01:59:20 +02:00
parent a6069bb78e
commit b6cfeecdfb
+15 -13
View File
@@ -118,6 +118,7 @@ ol.renderer.TileLayerRenderer.prototype.draw = function(center, resolution) {
if (resolution !== this.renderedResolution_) { if (resolution !== this.renderedResolution_) {
this.changeResolution_(center, resolution); this.changeResolution_(center, resolution);
} }
this.renderedResolution_ = resolution;
var pair = this.getPreferredResAndZ_(resolution); var pair = this.getPreferredResAndZ_(resolution);
var tileResolution = pair[0]; var tileResolution = pair[0];
var tileZ = pair[1]; var tileZ = pair[1];
@@ -190,20 +191,21 @@ ol.renderer.TileLayerRenderer.prototype.draw = function(center, resolution) {
} else { } else {
pxTileBottom = pxTileTop + pxTileHeight; pxTileBottom = pxTileTop + pxTileHeight;
} }
if (!(xyz in this.renderedTiles_)) { tile = this.renderedTiles_[xyz];
if (!tile) {
tile = this.layer_.getTileForXYZ(tileX, tileY, tileZ); tile = this.layer_.getTileForXYZ(tileX, tileY, tileZ);
if (tile != null) { tile.load();
img = tile.getImg(); this.renderedTiles_[xyz] = tile;
img.style.top = pxTileTop + "px"; img = tile.getImg();
img.style.left = pxTileLeft + "px"; fragment.appendChild(img);
if (scale !== 1) { } else {
img.style.height = (pxTileRight - pxTileLeft) + "px"; img = tile.getImg();
img.style.width = (pxTileBottom - pxTileTop) + "px"; }
} img.style.top = pxTileTop + "px";
tile.load(); img.style.left = pxTileLeft + "px";
fragment.appendChild(img); if (scale !== 1) {
this.renderedTiles_[xyz] = tile; img.style.height = (pxTileRight - pxTileLeft) + "px";
} img.style.width = (pxTileBottom - pxTileTop) + "px";
} }
pxTileTop = pxTileBottom; pxTileTop = pxTileBottom;
} }