From 8573a7ba6498d6239470e306dbad611feaef69a0 Mon Sep 17 00:00:00 2001 From: Andreas Hocevar Date: Mon, 11 Sep 2017 22:40:12 +0200 Subject: [PATCH] Only set LOADED state when all source tiles loaded successfully --- src/ol/vectorimagetile.js | 8 +++++++- test/rendering/ol/layer/vectortile.test.js | 1 - 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/ol/vectorimagetile.js b/src/ol/vectorimagetile.js index b3c34808aa..4c3545ef26 100644 --- a/src/ol/vectorimagetile.js +++ b/src/ol/vectorimagetile.js @@ -263,17 +263,23 @@ ol.VectorImageTile.prototype.load = function() { */ ol.VectorImageTile.prototype.finishLoading_ = function() { var loaded = this.tileKeys.length; + var empty = 0; for (var i = loaded - 1; i >= 0; --i) { var state = this.getTile(this.tileKeys[i]).getState(); if (state != ol.TileState.LOADED) { --loaded; } + if (state == ol.TileState.EMPTY) { + ++empty; + } } if (loaded == this.tileKeys.length) { this.loadListenerKeys_.forEach(ol.events.unlistenByKey); this.loadListenerKeys_.length = 0; + this.setState(ol.TileState.LOADED); + } else { + this.setState(empty == this.tileKeys.length ? ol.TileState.EMPTY : ol.TileState.ERROR); } - this.setState(loaded > 0 ? ol.TileState.LOADED : ol.TileState.ERROR); }; diff --git a/test/rendering/ol/layer/vectortile.test.js b/test/rendering/ol/layer/vectortile.test.js index 0d5d20301f..24e591dfe0 100644 --- a/test/rendering/ol/layer/vectortile.test.js +++ b/test/rendering/ol/layer/vectortile.test.js @@ -65,7 +65,6 @@ describe('ol.rendering.layer.VectorTile', function() { source = new ol.source.VectorTile({ format: new ol.format.MVT(), tileGrid: ol.tilegrid.createXYZ(), - tilePixelRatio: 16, url: 'rendering/ol/data/tiles/mvt/{z}-{x}-{y}.vector.pbf' }); });