#pragma once #include #include using namespace mbgl; class StubGeometryTileFeature : public GeometryTileFeature { public: StubGeometryTileFeature(PropertyMap properties_) : properties(std::move(properties_)) { } StubGeometryTileFeature(optional id_, FeatureType type_, GeometryCollection geometry_, PropertyMap properties_) : properties(std::move(properties_)), id(std::move(id_)), type(type_), geometry(std::move(geometry_)) { } PropertyMap properties; optional id; FeatureType type = FeatureType::Point; GeometryCollection geometry; FeatureType getType() const override { return type; } optional getID() const override { return id; } optional getValue(const std::string& key) const override { return properties.count(key) ? properties.at(key) : optional(); } GeometryCollection getGeometries() const override { return geometry; } };