markerChanged method
Notifies the datastore that a marker's properties have changed.
This method should be called when a marker's position, appearance, or other properties are modified after it has been added to the datastore. This allows the datastore to:
- Update internal indexes or caches
- Re-evaluate marker visibility or filtering
- Trigger any necessary reprocessing
marker The marker that has been modified
Common Use Cases:
- Marker position changes (animation, GPS updates)
- Marker style or appearance changes
- Marker data or label updates
- Marker visibility state changes
Note: Consider calling requestRepaint if the changes affect the visual representation of the marker.
marker.position = newPosition;
datastore.markerChanged(marker);
datastore.requestRepaint();
Implementation
@override
void markerChanged(Marker<T> marker) {
_CurrentMarkers<T>? currentMarkers = _currentMarkers;
currentMarkers?._initializedMarkers.remove(marker);
currentMarkers?._cachedMarkers.remove(marker);
if (currentMarkers != null && marker.shouldPaint(currentMarkers.boundingBox, currentMarkers.zoomlevel)) {
reinitOneMarker(currentMarkers, marker).then((value) {
requestRepaint();
});
}
}