#include #include #include #include #include #include #include namespace mbgl { AnnotationTile::AnnotationTile(const OverscaledTileID& overscaledTileID, const TileParameters& parameters) : GeometryTile(overscaledTileID, AnnotationManager::SourceID, parameters, *parameters.style.glyphAtlas, *parameters.style.spriteAtlas), annotationManager(parameters.annotationManager) { annotationManager.addTile(*this); } AnnotationTile::~AnnotationTile() { annotationManager.removeTile(*this); } void AnnotationTile::setNecessity(Necessity) {} AnnotationTileFeature::AnnotationTileFeature(const AnnotationID id_, FeatureType type_, GeometryCollection geometries_, std::unordered_map properties_) : id(id_), type(type_), properties(std::move(properties_)), geometries(std::move(geometries_)) {} optional AnnotationTileFeature::getValue(const std::string& key) const { auto it = properties.find(key); if (it != properties.end()) { return optional(it->second); } return optional(); } AnnotationTileLayer::AnnotationTileLayer(std::string name_) : name(std::move(name_)) {} std::unique_ptr AnnotationTileData::clone() const { return std::make_unique(*this); } const GeometryTileLayer* AnnotationTileData::getLayer(const std::string& name) const { auto it = layers.find(name); if (it != layers.end()) { return &it->second; } return nullptr; } } // namespace mbgl