From aedbccc6d05d44cf357e0ac672bdd0e6df49a7fb Mon Sep 17 00:00:00 2001 From: Chris Loer Date: Mon, 30 Apr 2018 14:50:16 -0700 Subject: [PATCH] Fix merge collision between PR#6559 and PR#6263. - Query tests now have extra data in them - Tile#setFeatureState needs to switch to getting vtLayers from FeatureIndex. --- src/source/tile.js | 12 +++++++----- .../regressions/mapbox-gl-js#6555/expected.json | 6 ++++-- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/source/tile.js b/src/source/tile.js index 0b23132aa3c..5332c9b2f54 100644 --- a/src/source/tile.js +++ b/src/source/tile.js @@ -413,17 +413,19 @@ class Tile { } setFeatureState(states: LayerFeatureStates) { - if (!this.latestRawTileData || Object.keys(states).length === 0) return; - - if (!this.vtLayers) { - this.vtLayers = new vt.VectorTile(new Protobuf(this.latestRawTileData)).layers; + if (!this.latestFeatureIndex || + !this.latestFeatureIndex.rawTileData || + Object.keys(states).length === 0) { + return; } + const vtLayers = this.latestFeatureIndex.loadVTLayers(); + for (const i in this.buckets) { const bucket = this.buckets[i]; // Buckets are grouped by common source-layer const sourceLayerId = bucket.layers[0]['sourceLayer'] || '_geojsonTileLayer'; - const sourceLayer = this.vtLayers[sourceLayerId]; + const sourceLayer = vtLayers[sourceLayerId]; const sourceLayerStates = states[sourceLayerId]; if (!sourceLayer || !sourceLayerStates || Object.keys(sourceLayerStates).length === 0) continue; diff --git a/test/integration/query-tests/regressions/mapbox-gl-js#6555/expected.json b/test/integration/query-tests/regressions/mapbox-gl-js#6555/expected.json index 53899d62357..cacc3f5ec37 100644 --- a/test/integration/query-tests/regressions/mapbox-gl-js#6555/expected.json +++ b/test/integration/query-tests/regressions/mapbox-gl-js#6555/expected.json @@ -8,6 +8,8 @@ ] }, "type": "Feature", - "properties": {} + "properties": {}, + "source": "source", + "state": {} } -] +] \ No newline at end of file