diff options
Diffstat (limited to 'src/mbgl/style/expression/expression.cpp')
-rw-r--r-- | src/mbgl/style/expression/expression.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/mbgl/style/expression/expression.cpp b/src/mbgl/style/expression/expression.cpp index 270fa5eba0..28004bb3e2 100644 --- a/src/mbgl/style/expression/expression.cpp +++ b/src/mbgl/style/expression/expression.cpp @@ -16,14 +16,13 @@ public: GeoJSONFeature(const Feature& feature_, const CanonicalTileID& canonical) : feature(feature_) { geometry = convertGeometry(feature.geometry, canonical); // https://github.com/mapbox/geojson-vt-cpp/issues/44 - if (getType() == FeatureType::Polygon) { + if (getTypeImpl() == FeatureType::Polygon) { geometry = fixupPolygons(*geometry); } } - FeatureType getType() const override { - return apply_visitor(ToFeatureType(), feature.geometry); - } + FeatureType getType() const override { return getTypeImpl(); } + const PropertyMap& getProperties() const override { return feature.properties; } FeatureIdentifier getID() const override { return feature.id; } optional<mbgl::Value> getValue(const std::string& key) const override { @@ -38,6 +37,9 @@ public: geometry = GeometryCollection(); return *geometry; } + +private: + FeatureType getTypeImpl() const { return apply_visitor(ToFeatureType(), feature.geometry); } }; EvaluationResult Expression::evaluate(optional<float> zoom, |