diff options
Diffstat (limited to 'src/mbgl/annotation/annotation_manager.cpp')
-rw-r--r-- | src/mbgl/annotation/annotation_manager.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/mbgl/annotation/annotation_manager.cpp b/src/mbgl/annotation/annotation_manager.cpp index e5c55c90dd..7169d51622 100644 --- a/src/mbgl/annotation/annotation_manager.cpp +++ b/src/mbgl/annotation/annotation_manager.cpp @@ -138,7 +138,19 @@ void AnnotationManager::updateStyle(Style& style) { } obsoleteShapeAnnotationLayers.clear(); - style.getSource(SourceID)->invalidateTiles(); + + for (auto& monitor : monitors) { + monitor->update(getTile(monitor->tileID)); + } +} + +void AnnotationManager::addTileMonitor(AnnotationTileMonitor& monitor) { + monitors.insert(&monitor); + monitor.update(getTile(monitor.tileID)); +} + +void AnnotationManager::removeTileMonitor(AnnotationTileMonitor& monitor) { + monitors.erase(&monitor); } } |