changeRoute method

  1. @override
Future<void> changeRoute(
  1. String routeId,
  2. String styleId,
  3. List<List<LatLng>> points
)
override

Implementation

@override
Future<void> changeRoute(
    String routeId, String styleId, List<List<LatLng>> points) async {
  final route = _webRoute[routeId]!;
  final styles = manager._routeStyles[styleId]!;

  route.styleId = styleId;

  for (final webRoute in route.element) {
    for (final routeElement in webRoute.allElement) {
      routeElement.setMap(null);
    }
  }
  _webRoute[routeId]!.element.removeRange(0, route.element.length);
  _webRoute[routeId]!.element.addAll(points.mapIndexed((index, point) =>
      _addRouteElement(
          styles.elementAtOrNull(
                  route.styleIndex.elementAtOrNull(index) ?? 0) ??
              styles[0],
          point,
          route.zOrder)));
}