#include #include namespace mbgl { class DefaultTileFeature : public GeometryTileFeature { public: DefaultTileFeature(PropertyMap properties_) : properties(std::move(properties_)) { } DefaultTileFeature(FeatureIdentifier id_, FeatureType type_, GeometryCollection geometry_, PropertyMap properties_) : properties(std::move(properties_)), id(std::move(id_)), type(type_), geometry(std::move(geometry_)) { } PropertyMap properties; FeatureIdentifier id; FeatureType type = FeatureType::Point; GeometryCollection geometry; FeatureType getType() const override { return type; } FeatureIdentifier getID() const override { return id; } Value getValue(const std::string& key) const override { return properties.count(key) ? properties.at(key) : NullValue(); } GeometryCollection getGeometries() const override { return geometry; } const PropertyMap& getProperties() const override { return properties; } }; } // namespace mbgl