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;
}
}