FasterRouteMarkerCalculator

class FasterRouteMarkerCalculator(backgroundDispatcher: CoroutineContext, crashlytics: Crashlytics, pointDifferenceFinder: PointDifferenceFinder)

This class processes list of routes:

  • The first route in the list is considered as the main routes

  • All other routes are considered as alternatives

  • For each alternative it tries to extract a sequence of points that are different from the main route using pointDifferenceFinder

  • If there is different subsequence it combines it with the center point of that segment, that alternative and difference between the main route's duration and the alternative route's into FasterRouteMetadata

Constructors

Link copied to clipboard
constructor(backgroundDispatcher: CoroutineContext, crashlytics: Crashlytics, pointDifferenceFinder: PointDifferenceFinder)

Functions

Link copied to clipboard
suspend fun calculate(routes: List<NavigationRoute>): List<FasterRouteMetadata>