From ce1b99cb56984f8588be8d6468d05d46c6476f76 Mon Sep 17 00:00:00 2001 From: Tim Schaub Date: Tue, 9 Oct 2012 22:56:37 -0600 Subject: [PATCH] Remove alt-z tiles when all tiles load at target z The changes in a14a15159fb93e6ad75df3abd9ad6748c67d50e1 made it so tiles at alternate resolutions were not pruned when target tiles finished loading. --- src/ol/renderer/dom/tilelayer.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/ol/renderer/dom/tilelayer.js b/src/ol/renderer/dom/tilelayer.js index d03d3eee2d..24de2b5eac 100644 --- a/src/ol/renderer/dom/tilelayer.js +++ b/src/ol/renderer/dom/tilelayer.js @@ -111,6 +111,22 @@ ol.renderer.dom.TileLayer.prototype.handleTileChange_ = function(event) { var key = tileCoord.toString(); delete this.loadingTiles_[key]; } + var loaded = true; + for (var key in this.loadingTiles_) { + loaded = false; + break; + } + if (loaded) { + var z = this.renderedZ_; + for (var key in this.renderedTiles_) { + tileCoord = ol.TileCoord.createFromString(key); + if (tileCoord.z !== z) { + tile = this.renderedTiles_[key]; + delete this.renderedTiles_[key]; + goog.dom.removeNode(tile.getImage(this)); + } + } + } };