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

View File

@@ -244,17 +244,18 @@ ol.VectorImageTile.prototype.load = function() {
*/
ol.VectorImageTile.prototype.finishLoading_ = function() {
var errors = false;
var tile;
for (var i = this.tileKeys.length - 1; i >= 0; --i) {
tile = this.getTile(this.tileKeys[i]);
if (tile.getState() == ol.TileState.ERROR) {
errors = true;
}
if (tile.getState() != ol.TileState.LOADED) {
this.tileKeys.splice(i, 1);
var loaded = this.tileKeys.length;
var state;
for (var i = loaded - 1; i >= 0; --i) {
state = this.getTile(this.tileKeys[i]).getState();
if (state != ol.TileState.LOADED) {
if (state == ol.TileState.ERROR) {
errors = true;
}
--loaded;
}
}
this.setState(this.tileKeys.length > 0 ?
this.setState(loaded > 0 ?
ol.TileState.LOADED :
(errors ? ol.TileState.ERROR : ol.TileState.EMPTY));
};