computeLength static method

num computeLength(
  1. List<LatLng> path
)

Returns the length of the given path, in meters, on Earth.

Implementation

static num computeLength(List<LatLng> path) {
  if (path.length < 2) {
    return 0;
  }

  final prev = path.first;
  var prevLat = MathUtil.toRadians(prev.latitude);
  var prevLng = MathUtil.toRadians(prev.longitude);

  final length = path.fold<num>(0.0, (value, point) {
    final lat = MathUtil.toRadians(point.latitude);
    final lng = MathUtil.toRadians(point.longitude);
    value += distanceRadians(prevLat, prevLng, lat, lng);
    prevLat = lat;
    prevLng = lng;

    return value;
  });

  return length * earthRadius;
}