From f745f271e3ad4a969d98083b658a905f43e3dcd3 Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Thu, 29 Oct 2015 12:01:05 -0700 Subject: [PATCH] [core] When reparsing a tile, replace all existing buckets A tile may go from having particular layers, to not having them. (Annotation tiles in particular.) --- src/mbgl/map/tile_worker.cpp | 2 +- src/mbgl/map/tile_worker.hpp | 2 +- src/mbgl/map/vector_tile_data.cpp | 5 ++--- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/mbgl/map/tile_worker.cpp b/src/mbgl/map/tile_worker.cpp index 88bbf16a3..96300a803 100644 --- a/src/mbgl/map/tile_worker.cpp +++ b/src/mbgl/map/tile_worker.cpp @@ -287,6 +287,6 @@ void TileWorker::createSymbolBucket(const GeometryTileLayer& layer, void TileWorker::insertBucket(const std::string& name, std::unique_ptr bucket) { if (bucket->hasData()) { - result.buckets.emplace_back(name, std::move(bucket)); + result.buckets.emplace(name, std::move(bucket)); } } diff --git a/src/mbgl/map/tile_worker.hpp b/src/mbgl/map/tile_worker.hpp index 27fc0d37f..44868a12f 100644 --- a/src/mbgl/map/tile_worker.hpp +++ b/src/mbgl/map/tile_worker.hpp @@ -31,7 +31,7 @@ class GeometryTileLayer; class TileParseResultBuckets { public: TileData::State state = TileData::State::invalid; - std::vector>> buckets; + std::unordered_map> buckets; }; using TileParseResult = mapbox::util::variant