setStyle method
Set new style for the map, using this instead of VietmapGl.styleUrl
keepExistingAnnotations
will keep the existing annotations on the map
when the style changes, defaults to true
. If set to false
all existing
annotations will be removed from the map when the style changes.
duration
is the amount of time, which awaits before the annotations are
re-added to the map. This is useful if you want to show a transition
value is in milliseconds.
Implementation
Future<void> setStyle(String style,
{bool keepExistingAnnotations = true, int duration = 150}) async {
final polygonAnnotation = polygonManager?.annotations;
final polylineAnnotation = polylineManager?.annotations;
final circleAnnotation = circleManager?.annotations;
final symbolAnnotation = symbolManager?.annotations;
await _vietmapGLPlatform.setStyle(style);
if (keepExistingAnnotations) {
Future.delayed(Duration(milliseconds: duration)).then((value) {
polygonManager?.clear();
polylineManager?.clear();
circleManager?.clear();
symbolManager?.clear();
polygonManager?.addAll(polygonAnnotation ?? []);
polylineManager?.addAll(polylineAnnotation ?? []);
circleManager?.addAll(circleAnnotation ?? []);
symbolManager?.addAll(symbolAnnotation ?? []);
notifyListeners();
});
}
}