RouteProgress

class RouteProgress

This class contains all progress information at any given time during a navigation session. This progress includes information for the current route, leg, and step that the user is traveling along. With every new valid location update, a new route progress will be generated using the latest information.

The latest route progress object can be obtained through the RouteProgressObserver. Note that the route progress object's immutable.

Parameters

navigationRoute

NavigationRoute the navigation session is currently using. When a reroute occurs and a new directions route gets obtained, with the next location update this directions route should reflect the new route.

bannerInstructions

BannerInstructions current instructions for visual guidance.

voiceInstructions

VoiceInstructions current instruction for audio guidance.

currentState

RouteProgressState the current state of progress along the route. Provides route and location tracking information.

currentLegProgress

RouteLegProgress current progress of the active leg, includes time and distance estimations.

upcomingStepPoints

List location coordinates describing the upcoming step.

inTunnel

Boolean value indicating whether the current location is in a tunnel.

distanceRemaining

Float provides the distance remaining in meters until the user reaches the end of the route.

distanceTraveled

Float representing the distance traveled along the route in meters.

durationRemaining

Double seconds time remaining until the route destination is reached.

fractionTraveled

Float fraction traveled along the current route. This value is between 0 and 1 and isn't guaranteed to reach 1 before the user reaches the end of the route.

remainingWaypoints

Int number of waypoints remaining on the current route. The waypoints number can be different with number of requested coordinates. For instance, EV routing is adding additional waypoints, that are not requested explicitly.

upcomingRoadObjects

list of upcoming road objects.

stale

true if there were no location updates for a significant amount which causes a lack of confidence in the progress updates being sent.

routeAlternativeId

in case of currentState equal to RouteProgressState.OFF_ROUTE, this field can provide the route ID of an alternative route that user turned into causing off-route event (if there is one). This field can be used to find a route with NavigationRoute.id that can be immediately used as the new primary route.

currentRouteGeometryIndex

route-wise index representing the geometry point that starts the segment the user is currently on, effectively this represents the index of last visited geometry point in the route (see DirectionsRoute.geometry or DecodeUtils.completeGeometryToPoints if RouteOptions.overview is DirectionsCriteria.OVERVIEW_FULL).

inParkingAisle

whether the current location belongs to a parking aisle.

alternativeRoutesIndices

map of alternative route id to route indices for specified route (see RouteIndices). No primary route indices data is available here.

Functions

Link copied to clipboard
open operator override fun equals(other: Any?): Boolean

Indicates whether some other object is "equal to" this one.

Link copied to clipboard
open override fun hashCode(): Int

Returns a hash code value for the object.

Link copied to clipboard
open override fun toString(): String

Returns a string representation of the object.

Properties

Link copied to clipboard
val bannerInstructions: BannerInstructions?
Link copied to clipboard
val currentLegProgress: RouteLegProgress?
Link copied to clipboard
val currentRouteGeometryIndex: Int
Link copied to clipboard
val currentState: RouteProgressState
Link copied to clipboard
val distanceRemaining: Float
Link copied to clipboard
val distanceTraveled: Float
Link copied to clipboard
val durationRemaining: Double
Link copied to clipboard
val fractionTraveled: Float
Link copied to clipboard
val inParkingAisle: Boolean
Link copied to clipboard
val inTunnel: Boolean
Link copied to clipboard
val navigationRoute: NavigationRoute
Link copied to clipboard
val remainingWaypoints: Int
Link copied to clipboard
val route: DirectionsRoute

DirectionsRoute the navigation session is currently using. When a reroute occurs and a new directions route gets obtained, with the next location update this directions route should reflect the new route.

Link copied to clipboard
val routeAlternativeId: String?
Link copied to clipboard
val stale: Boolean
Link copied to clipboard
val upcomingRoadObjects: List<UpcomingRoadObject>
Link copied to clipboard
val upcomingStepPoints: List<Point>?
Link copied to clipboard
val voiceInstructions: VoiceInstructions?

Extensions

Link copied to clipboard
suspend fun RouteProgress.hasUnexpectedUpcomingClosures(): Boolean

This function checks whether the NavigationRoute has unexpected upcoming closures, which could be a reason to re-route.