diff --git a/src/ol/TileQueue.js b/src/ol/TileQueue.js index bf9fb6e9cd..3bf20be359 100644 --- a/src/ol/TileQueue.js +++ b/src/ol/TileQueue.js @@ -112,12 +112,10 @@ class TileQueue extends PriorityQueue { if (state === TileState.ABORT) { abortedTiles = true; } else if (state === TileState.IDLE && !(tileKey in this.tilesLoadingKeys_)) { + this.tilesLoadingKeys_[tileKey] = true; + ++this.tilesLoading_; + ++newLoads; tile.load(); - if (tile.getState() === TileState.LOADING) { - this.tilesLoadingKeys_[tileKey] = true; - ++this.tilesLoading_; - ++newLoads; - } } } if (newLoads === 0 && abortedTiles) { diff --git a/src/ol/source/VectorTile.js b/src/ol/source/VectorTile.js index e47f020893..3c0c126a4c 100644 --- a/src/ol/source/VectorTile.js +++ b/src/ol/source/VectorTile.js @@ -236,17 +236,15 @@ class VectorTile extends UrlTile { empty = false; sourceTile.addEventListener(EventType.CHANGE, this.handleTileChange.bind(this)); sourceTile.load(); - } else { - sourceTile = null; } } else { empty = false; } covered = false; - if (sourceTile === undefined) { + if (!sourceTile) { return; } - if (sourceTile !== null && tile.getState() === TileState.IDLE) { + if (sourceTile.getState() !== TileState.EMPTY && tile.getState() === TileState.IDLE) { tile.loadingSourceTiles++; const key = listen(sourceTile, EventType.CHANGE, function() { const state = sourceTile.getState();