encode static method

String encode(
  1. List<Position> coordinates, {
  2. int? precision,
})

Encodes the given List<Position> to a polyline, a String.

Implementation

static String encode(List<Position> coordinates, {int? precision}) {
  if (coordinates.isEmpty) {
    return '';
  }

  var factor = math.pow(10, precision ?? 5),
      output = _encode(coordinates[0].lat, 0, factor) +
          _encode(coordinates[0].lng, 0, factor);

  for (var i = 1; i < coordinates.length; i++) {
    var a = coordinates[i], b = coordinates[i - 1];
    output += _encode(a.lat, b.lat, factor);
    output += _encode(a.lng, b.lng, factor);
  }

  return output;
}