Do not delete tile keys for error or empty tiles

This commit is contained in:
Andreas Hocevar
2017-06-28 23:16:11 +02:00
parent c0e4da6d8c
commit 36c80f61bc
+10 -9
View File
@@ -244,17 +244,18 @@ ol.VectorImageTile.prototype.load = function() {
*/ */
ol.VectorImageTile.prototype.finishLoading_ = function() { ol.VectorImageTile.prototype.finishLoading_ = function() {
var errors = false; var errors = false;
var tile; var loaded = this.tileKeys.length;
for (var i = this.tileKeys.length - 1; i >= 0; --i) { var state;
tile = this.getTile(this.tileKeys[i]); for (var i = loaded - 1; i >= 0; --i) {
if (tile.getState() == ol.TileState.ERROR) { state = this.getTile(this.tileKeys[i]).getState();
errors = true; if (state != ol.TileState.LOADED) {
} if (state == ol.TileState.ERROR) {
if (tile.getState() != ol.TileState.LOADED) { errors = true;
this.tileKeys.splice(i, 1); }
--loaded;
} }
} }
this.setState(this.tileKeys.length > 0 ? this.setState(loaded > 0 ?
ol.TileState.LOADED : ol.TileState.LOADED :
(errors ? ol.TileState.ERROR : ol.TileState.EMPTY)); (errors ? ol.TileState.ERROR : ol.TileState.EMPTY));
}; };