#ifndef MBGL_SHAPE_ANNOTATION_IMPL #define MBGL_SHAPE_ANNOTATION_IMPL #include #include #include #include #include #include #include namespace mbgl { class Style; class AnnotationTile; class ShapeAnnotationImpl { public: using Map = std::map>; ShapeAnnotationImpl(const AnnotationID, const ShapeAnnotation&, const uint8_t maxZoom); LatLngBounds bounds() const; void updateStyle(Style&); void updateTile(const TileID&, AnnotationTile&); const AnnotationID id; const std::string layerID; const ShapeAnnotation shape; private: const uint8_t maxZoom; mapbox::geojsonvt::ProjectedFeatureType type; std::unique_ptr shapeTiler; }; } // namespace mbgl #endif