summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruno de Oliveira Abinader <bruno@mapbox.com>2018-11-30 14:26:12 +0200
committerBruno de Oliveira Abinader <bruno@mapbox.com>2019-01-14 10:45:49 -0400
commita4f2fe4209ef6961662fb53ee5c29cafacd2a303 (patch)
treeb9c2e27516e658494d477715658d3996799b5aba
parent06871122f55da4782cb88c431286f5a735fa8914 (diff)
downloadqtlocation-mapboxgl-a4f2fe4209ef6961662fb53ee5c29cafacd2a303.tar.gz
[core] Use PropertyAnimation in AnnotationTileFeatureData
-rw-r--r--src/mbgl/annotation/annotation_tile.cpp10
-rw-r--r--src/mbgl/annotation/annotation_tile.hpp3
-rw-r--r--src/mbgl/annotation/symbol_annotation_impl.cpp2
3 files changed, 10 insertions, 5 deletions
diff --git a/src/mbgl/annotation/annotation_tile.cpp b/src/mbgl/annotation/annotation_tile.cpp
index e5e3b68dff..74a7dad682 100644
--- a/src/mbgl/annotation/annotation_tile.cpp
+++ b/src/mbgl/annotation/annotation_tile.cpp
@@ -24,7 +24,7 @@ public:
AnnotationTileFeatureData(const AnnotationID id_,
FeatureType type_,
GeometryCollection&& geometries_,
- std::unordered_map<std::string, std::string>&& properties_)
+ PropertyMap&& properties_)
: id(id_),
type(type_),
geometries(std::move(geometries_)),
@@ -34,7 +34,7 @@ public:
AnnotationID id;
FeatureType type;
GeometryCollection geometries;
- std::unordered_map<std::string, std::string> properties;
+ PropertyMap properties;
};
AnnotationTileFeature::AnnotationTileFeature(std::shared_ptr<const AnnotationTileFeatureData> data_)
@@ -59,6 +59,10 @@ FeatureIdentifier AnnotationTileFeature::getID() const {
return data->id;
}
+const PropertyMap& AnnotationTileFeature::getProperties() const {
+ return data->properties;
+}
+
GeometryCollection AnnotationTileFeature::getGeometries() const {
return data->geometries;
}
@@ -90,7 +94,7 @@ std::string AnnotationTileLayer::getName() const {
void AnnotationTileLayer::addFeature(const AnnotationID id,
FeatureType type,
GeometryCollection geometries,
- std::unordered_map<std::string, std::string> properties) {
+ PropertyMap properties) {
layer->features.emplace_back(std::make_shared<AnnotationTileFeatureData>(
id, type, std::move(geometries), std::move(properties)));
diff --git a/src/mbgl/annotation/annotation_tile.hpp b/src/mbgl/annotation/annotation_tile.hpp
index 1e23fdf98a..7757f0b0ce 100644
--- a/src/mbgl/annotation/annotation_tile.hpp
+++ b/src/mbgl/annotation/annotation_tile.hpp
@@ -28,6 +28,7 @@ public:
FeatureType getType() const override;
optional<Value> getValue(const std::string&) const override;
FeatureIdentifier getID() const override;
+ const PropertyMap& getProperties() const override;
GeometryCollection getGeometries() const override;
private:
@@ -47,7 +48,7 @@ public:
void addFeature(const AnnotationID,
FeatureType,
GeometryCollection,
- std::unordered_map<std::string, std::string> properties = { {} });
+ PropertyMap properties = { {} });
private:
std::shared_ptr<AnnotationTileLayerData> layer;
diff --git a/src/mbgl/annotation/symbol_annotation_impl.cpp b/src/mbgl/annotation/symbol_annotation_impl.cpp
index c95eb481b5..bc4dbec283 100644
--- a/src/mbgl/annotation/symbol_annotation_impl.cpp
+++ b/src/mbgl/annotation/symbol_annotation_impl.cpp
@@ -12,7 +12,7 @@ SymbolAnnotationImpl::SymbolAnnotationImpl(AnnotationID id_, SymbolAnnotation an
}
void SymbolAnnotationImpl::updateLayer(const CanonicalTileID& tileID, AnnotationTileLayer& layer) const {
- std::unordered_map<std::string, std::string> featureProperties;
+ PropertyMap featureProperties;
featureProperties.emplace("sprite", annotation.icon.empty() ? std::string("default_marker") : annotation.icon);
LatLng latLng { annotation.geometry.y, annotation.geometry.x };