TomTom Maps for JavaScript
    Preparing search index...

    Function calculateProgressAtRoutePoint

    • Interpolates the cumulative traveled distance and time at an arbitrary point on the route path.

      Uses the route's progress array to linearly interpolate between the two bracketing RouteProgressPoint entries that surround the requested pathIndex.

      Parameters

      • route: Route

        The route whose properties.progress will be used for interpolation. The progress array must cover the requested index (i.e. the first entry's pointIndex must be ≤ pathIndex and the last's must be ≥ pathIndex).

      • pathIndex: number

        Zero-based index into the route's coordinate array.

      Returns Required<RouteProgress> | undefined

      Interpolated RouteProgressAtPoint, or undefined when:

      • the route has no progress data
      • pathIndex is outside [0, coordinates.length - 1]
      • pathIndex falls outside the range covered by the progress entries
      • any required distance or time value is missing from the bracketing entries
      const progress = route.properties.progress;
      // progress = [
      // { pointIndex: 0, distanceInMeters: 0, travelTimeInSeconds: 0 },
      // { pointIndex: 50, distanceInMeters: 2500, travelTimeInSeconds: 120 },
      // { pointIndex: 100,distanceInMeters: 5000, travelTimeInSeconds: 300 }
      // ]

      const result = calculateProgressAtRoutePoint(route, 25);
      // result = { distanceInMeters: 1250, travelTimeInSeconds: 60 }