showDirections static method

Future showDirections({
  1. required MapType mapType,
  2. required Coords destination,
  3. String? destinationTitle,
  4. Coords? origin,
  5. String? originTitle,
  6. List<Waypoint>? waypoints,
  7. DirectionsMode? directionsMode = DirectionsMode.driving,
  8. Map<String, String>? extraParams,
})

Opens map app specified in mapType and shows directions to destination

Implementation

static Future<dynamic> showDirections({
  required MapType mapType,
  required Coords destination,
  String? destinationTitle,
  Coords? origin,
  String? originTitle,
  List<Waypoint>? waypoints,
  DirectionsMode? directionsMode = DirectionsMode.driving,
  Map<String, String>? extraParams,
}) async {
  final url = getMapDirectionsUrl(
    mapType: mapType,
    destination: destination,
    destinationTitle: destinationTitle,
    origin: origin,
    originTitle: originTitle,
    waypoints: waypoints,
    directionsMode: directionsMode,
    extraParams: extraParams,
  );

  final Map<String, dynamic> args = {
    'mapType': Utils.enumToString(mapType),
    'url': Uri.encodeFull(url),
    'destinationTitle': destinationTitle,
    'destinationLatitude': destination.latitude.toString(),
    'destinationLongitude': destination.longitude.toString(),
    'destinationtitle': destinationTitle,
    'originLatitude': origin?.latitude.toString(),
    'originLongitude': origin?.longitude.toString(),
    'originTitle': originTitle,
    'directionsMode': Utils.enumToString(directionsMode),
    'waypoints': (waypoints ?? [])
        .map((waypoint) => {
              'latitude': waypoint.latitude.toString(),
              'longitude': waypoint.longitude.toString(),
              'title': waypoint.title,
            })
        .toList(),
  };
  return _channel.invokeMethod('showDirections', args);
}