buildPointsMap method

void buildPointsMap()

Implementation

void buildPointsMap() {
  var myDistanceFunc = distanceFunc ?? haversine;

  if(isReversed) {
    points = []..addAll(originalPoints.reversed.toList());
  } else {
    points = []..addAll(originalPoints);
  }

  builtPoints.add(LatLng(points[0].latitude, points[0].longitude));
  builtPoints.add(LatLng(points[0].latitude, points[0].longitude));

  pointDistanceSteps = [PercentageStep(distance: 0.0, percent: 0.0)];

  totalDistance = 0.0;

  /// build up a list of distances that each point must pass before being displayed
  for (var c=0; c < points.length - 1; c++) {
    totalDistance += myDistanceFunc(points[c], points[c+1]);
    pointDistanceSteps.add(PercentageStep(distance: totalDistance, percent: 0.0));     /// Check percent
  }

  /// build a list of percentages now we know the length, for how far the point is along
  for (var c=0; c < points.length ; c++) {
    pointDistanceSteps[c].percent = pointDistanceSteps[c].distance / totalDistance;
  }

}