toUrlString method

  1. @override
String toUrlString()
override

Implementation

@override
String toUrlString() {
  if (points.length < 2) {
    throw StateError(
      'In order to draw a path, the path '
      'class must also be passed two or more points. points.length=${points.length}',
    );
  }

  final parts = _getBaseUrlStringParts();

  assert(
    !encoded || encoded && !hasAddressPoints,
    'Cannot encode path using polyline encoding when address locations '
    'are defined. Use Location (GeocodedLocation.latLng) '
    'instead of AddressLocation (GeocodedLocation.address) class.',
  );

  if (encoded && !hasAddressPoints) {
    parts.add("enc:${PolylineEncoder.encodePath(points.cast<Location>())}");
  } else {
    for (final location in points) {
      parts.add(location.toUrlString());
    }
  }

  return parts.join(_separator);
}