RefreshRouteParameters

public struct RefreshRouteParameters : Hashable

This struct provides the necessary information for refreshing a route from a specific location on it.

  • The route handle holding the route to be refreshed.

    Declaration

    Swift

    public var routeHandle: RouteHandle
  • Identify the new starting point of the route. It should be of type WaypointType.stopover. Otherwise, an RoutingError.invalidParameter error is generated. Moreover, it should be very close to the original route specified with the RouteHandle. The location of this waypoint may by provided, for example, by a RouteProgress event. Since the new starting point is expected to be along the original route, the original route geometry is used to reach the remaining waypoints. The new route will not include the Waypoint items that lie behind the new starting point (i.e. the path that was already traveled). Plus, Route.lengthInMeters, Route.duration, and similar values are from the new starting point to the destination. If the new waypoint is too far off the original route, the route refresh may fail and an RoutingError.couldNotMatchOrigin error is triggered. In that case, an application may decide to calculate a new route from scratch.

    Declaration

    Swift

    public var startingPoint: Waypoint?
  • Indicates the index of the last traveled route section. When it is provided, the previous sections are discarded from the refreshed route and the starting point is searched in the provided section. If the starting point is not found in that section an RoutingError.couldNotMatchOrigin error is triggered.

    Declaration

    Swift

    public var startingSectionIndex: Int32?
  • Provides an indication on how much of the starting section is already traveled. The refresh route function would ignore the first part of the section. If it is provided with an invalid starting section index, an RoutingError.invalidParameter error is generated.

    Declaration

    Swift

    public var traveledDistanceOnStartingSectionInMeters: Int32?
  • Create a new instance of RefreshRouteParameters with the new starting point on the route.

    Declaration

    Swift

    public init(routeHandle: RouteHandle, startingPoint: Waypoint)

    Parameters

    routeHandle

    The route handle holding the route to be refreshed.

    startingPoint

    Identify the new starting point of the route.

  • Create a new instance of RefreshRouteParameters with the point on the section of the route as a new starting point.

    Declaration

    Swift

    public init(routeHandle: RouteHandle, startingSectionIndex: Int32, traveledDistanceOnStartingSectionInMeters: Int32)

    Parameters

    routeHandle

    The route handle holding the route to be refreshed.

    startingSectionIndex

    Indicates the index of the last traveled route section.

    traveledDistanceOnStartingSectionInMeters

    Provides an indication on how much of the starting section is already traveled.

  • Create a new instance of RefreshRouteParameters with the new starting point and the section position on the route.

    Declaration

    Swift

    public init(routeHandle: RouteHandle, startingPoint: Waypoint, startingSectionIndex: Int32, traveledDistanceOnStartingSectionInMeters: Int32)

    Parameters

    routeHandle

    The route handle holding the route to be refreshed.

    startingPoint

    Identify the new starting point of the route.

    startingSectionIndex

    Indicates the index of the last traveled route section.

    traveledDistanceOnStartingSectionInMeters

    Provides an indication on how much of the starting section is already traveled.