From ab797b7160fd979028e40883000ad106ed92fbc6 Mon Sep 17 00:00:00 2001 From: ahocevar Date: Thu, 13 Dec 2018 10:50:38 +0100 Subject: [PATCH] Let source set the key, like other sources do --- src/ol/VectorImageTile.js | 8 +++----- src/ol/source/VectorTile.js | 2 +- test/spec/ol/renderer/canvas/vectortilelayer.test.js | 2 +- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/ol/VectorImageTile.js b/src/ol/VectorImageTile.js index 98e34d2c77..882189e066 100644 --- a/src/ol/VectorImageTile.js +++ b/src/ol/VectorImageTile.js @@ -24,12 +24,11 @@ class VectorImageTile extends Tile { /** * @param {import("./tilecoord.js").TileCoord} tileCoord Tile coordinate. * @param {TileState} state State. - * @param {number} sourceRevision Source revision. * @param {import("./tilecoord.js").TileCoord} urlTileCoord Wrapped tile coordinate for source urls. * @param {import("./tilegrid/TileGrid.js").default} sourceTileGrid Tile grid of the source. * @param {Object} sourceTiles Source tiles. */ - constructor(tileCoord, state, sourceRevision, urlTileCoord, sourceTileGrid, sourceTiles) { + constructor(tileCoord, state, urlTileCoord, sourceTileGrid, sourceTiles) { super(tileCoord, state, {transition: 0}); @@ -99,8 +98,6 @@ class VectorImageTile extends Tile { * @type {Array} */ this.sourceTileListenerKeys_ = []; - - this.key = sourceRevision.toString(); } /** @@ -186,9 +183,10 @@ class VectorImageTile extends Tile { for (let i = 0, ii = tileKeys.length; i < ii; ++i) { this.sourceTiles_[tileKeys[i]].consumers++; } - const tile = new VectorImageTile(this.tileCoord, TileState.IDLE, Number(this.key), + const tile = new VectorImageTile(this.tileCoord, TileState.IDLE, this.wrappedTileCoord, null, this.sourceTiles_); tile.extent = this.extent; + tile.key = this.key; tile.tileKeys = tileKeys; tile.context_ = this.context_; setTimeout(function() { diff --git a/src/ol/source/VectorTile.js b/src/ol/source/VectorTile.js index 33918dd80f..df0235e04e 100644 --- a/src/ol/source/VectorTile.js +++ b/src/ol/source/VectorTile.js @@ -213,11 +213,11 @@ class VectorTile extends UrlTile { const tile = new VectorImageTile( tileCoord, urlTileCoord !== null ? TileState.IDLE : TileState.EMPTY, - this.getRevision(), urlTileCoord, this.tileGrid, this.sourceTiles_); + tile.key = this.getRevision().toString(); this.assignTiles(tile, pixelRatio, projection); this.tileCache.set(tileCoordKey, tile); return tile; diff --git a/test/spec/ol/renderer/canvas/vectortilelayer.test.js b/test/spec/ol/renderer/canvas/vectortilelayer.test.js index 22a17d62d2..d4c1e56c37 100644 --- a/test/spec/ol/renderer/canvas/vectortilelayer.test.js +++ b/test/spec/ol/renderer/canvas/vectortilelayer.test.js @@ -244,7 +244,7 @@ describe('ol.renderer.canvas.VectorTileLayer', function() { sourceTile.getImage = function() { return document.createElement('canvas'); }; - const tile = new VectorImageTile([0, 0, 0], undefined, 1, [0, 0, 0], createXYZ(), {'0,0,0': sourceTile}); + const tile = new VectorImageTile([0, 0, 0], 1, [0, 0, 0], createXYZ(), {'0,0,0': sourceTile}); tile.transition_ = 0; tile.tileKeys = ['0,0,0']; tile.extent = getProjection('EPSG:3857').getExtent();