toUri method

Uri toUri()

Implementation

Uri toUri() {
  validateKey(apiKey);
  var params = removeNulls({
    "origin": "${origin.latitude},${origin.longitude}",
    "destination": "${destination.latitude},${destination.longitude}",
    "mode": mode.name,
    "avoidHighways": "$avoidHighways",
    "avoidFerries": "$avoidFerries",
    "avoidTolls": "$avoidTolls",
    "alternatives": "$alternatives",
    "key": apiKey,
    "arrival_time": arrivalTime,
    "departure_time": departureTime,
    "transit_mode": transitMode
  });
  if (wayPoints.isNotEmpty) {
    List wayPointsArray = [];
    wayPoints.forEach((point) => wayPointsArray.add(point.location));
    String wayPointsString = wayPointsArray.join('|');
    if (optimizeWaypoints) {
      wayPointsString = 'optimize:true|$wayPointsString';
    }
    params.addAll({"waypoints": wayPointsString});
  }
  return Uri.https("maps.googleapis.com", "maps/api/directions/json", params);
}