Whether the route has changed since the last sent message. A route change may be caused by a
reroute, the addition/removal of a waypoint, the user selecting or driving onto an alternate
route, or a traffic update.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-11-15 UTC."],[[["\u003cp\u003e\u003ccode\u003eGMSNavigationNavInfo\u003c/code\u003e provides real-time navigation state information, including the current step, remaining steps, and route changes.\u003c/p\u003e\n"],["\u003cp\u003eIt offers estimated time and distance to the next step and the final destination.\u003c/p\u003e\n"],["\u003cp\u003eIncludes helper methods for rounding time and distance values for user-friendly display.\u003c/p\u003e\n"],["\u003cp\u003eProvides formatted instructions for navigation steps using \u003ccode\u003eGMSNavigationInstructionOptions\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eIt's an essential object for building navigation experiences with the Google Maps SDK for iOS.\u003c/p\u003e\n"]]],[],null,["GMSNavigationNavInfo \n\n @interface GMSNavigationNavInfo : NSObject\n\nContains information about the state of navigation\n- `\n ``\n ``\n `\n\n [navState](#/c:objc(cs)GMSNavigationNavInfo(py)navState)`\n ` \n The current [GMSNavigationNavState](../Enums/GMSNavigationNavState.html) for navigation. \n\n Declaration \n Swift \n\n var navState: ../Enums/GMSNavigationNavState.html { get }\n\n Objective-C \n\n @property (nonatomic, readonly) ../Enums/GMSNavigationNavState.html navState;\n\n- `\n ``\n ``\n `\n\n [currentStep](#/c:objc(cs)GMSNavigationNavInfo(py)currentStep)`\n ` \n Information about the upcoming maneuver step. This is only set if the navState is\n `GMSNavigationNavStateEnroute` and will be null otherwise. \n\n Declaration \n Swift \n\n var currentStep: ../Classes/GMSNavigationStepInfo.html? { get }\n\n Objective-C \n\n @property (nonatomic, readonly, nullable) ../Classes/GMSNavigationStepInfo.html *currentStep;\n\n- `\n ``\n ``\n `\n\n [remainingSteps](#/c:objc(cs)GMSNavigationNavInfo(py)remainingSteps)`\n ` \n The remaining steps after the current step. \n\n Declaration \n Swift \n\n var remainingSteps: [../Classes/GMSNavigationStepInfo.html] { get }\n\n Objective-C \n\n @property (nonatomic, readonly) NSArray\u003c../Classes/GMSNavigationStepInfo.html *\u003e *_Nonnull remainingSteps;\n\n- `\n ``\n ``\n `\n\n [routeChanged](#/c:objc(cs)GMSNavigationNavInfo(py)routeChanged)`\n ` \n Whether the route has changed since the last sent message. A route change may be caused by a\n reroute, the addition/removal of a waypoint, the user selecting or driving onto an alternate\n route, or a traffic update. \n\n Declaration \n Swift \n\n var routeChanged: Bool { get }\n\n Objective-C \n\n @property (nonatomic, readonly) BOOL routeChanged;\n\n- `\n ``\n ``\n `\n\n [timeToCurrentStepSeconds](#/c:objc(cs)GMSNavigationNavInfo(py)timeToCurrentStepSeconds)`\n ` \n The estimated remaining time in seconds along the route to the current step. \n\n Declaration \n Swift \n\n var timeToCurrentStepSeconds: TimeInterval { get }\n\n Objective-C \n\n @property (nonatomic, readonly) NSTimeInterval timeToCurrentStepSeconds;\n\n- `\n ``\n ``\n `\n\n [distanceToCurrentStepMeters](#/c:objc(cs)GMSNavigationNavInfo(py)distanceToCurrentStepMeters)`\n ` \n The estimated remaining distance in meters along the route to the current step . \n\n Declaration \n Swift \n\n var distanceToCurrentStepMeters: CLLocationDistance { get }\n\n Objective-C \n\n @property (nonatomic, readonly) CLLocationDistance distanceToCurrentStepMeters;\n\n- `\n ``\n ``\n `\n\n [timeToFinalDestinationSeconds](#/c:objc(cs)GMSNavigationNavInfo(py)timeToFinalDestinationSeconds)`\n ` \n The estimated remaining time in seconds to the final destination. \n\n Declaration \n Swift \n\n var timeToFinalDestinationSeconds: TimeInterval { get }\n\n Objective-C \n\n @property (nonatomic, readonly) NSTimeInterval timeToFinalDestinationSeconds;\n\n- `\n ``\n ``\n `\n\n [distanceToFinalDestinationMeters](#/c:objc(cs)GMSNavigationNavInfo(py)distanceToFinalDestinationMeters)`\n ` \n The estimated remaining distance in meters to the final destination. \n\n Declaration \n Swift \n\n var distanceToFinalDestinationMeters: CLLocationDistance { get }\n\n Objective-C \n\n @property (nonatomic, readonly) CLLocationDistance distanceToFinalDestinationMeters;\n\n- `\n ``\n ``\n `\n\n [-roundedTime:](#/c:objc(cs)GMSNavigationNavInfo(im)roundedTime:)`\n ` \n Returns a time rounded to the nearest minute, with a minimum of one minute.\n\n This can be useful when displaying route information to users, since it can be\n confusing to display times such a \"0 min\".\n\n Due to the above, input values to this method should always be positive. \n\n Declaration \n Swift \n\n func roundedTime(_ timeSeconds: TimeInterval) -\u003e TimeInterval\n\n Objective-C \n\n - (NSTimeInterval)roundedTime:(NSTimeInterval)timeSeconds;\n\n- `\n ``\n ``\n `\n\n [-roundedDistance:](#/c:objc(cs)GMSNavigationNavInfo(im)roundedDistance:)`\n ` \n Returns a rounded measurement representing the given distance, taking into account user\n preferences and the recommended distance unit for the route. \n\n Declaration \n Swift \n\n func roundedDistance(_ distanceMeters: CLLocationDistance) -\u003e Measurement\u003cUnitLength\u003e\n\n Objective-C \n\n - (nonnull NSMeasurement\u003cNSUnitLength *\u003e *)roundedDistance:\n (CLLocationDistance)distanceMeters;\n\n- `\n ``\n ``\n `\n\n [-instructionsForStep:options:](#/c:objc(cs)GMSNavigationNavInfo(im)instructionsForStep:options:)`\n ` \n The formatted instructions for the given step. \n\n Declaration \n Swift \n\n func instructions(forStep stepInfo: ../Classes/GMSNavigationStepInfo.html, options: ../Classes/GMSNavigationInstructionOptions.html) -\u003e [NSAttributedString]\n\n Objective-C \n\n - (nonnull NSArray\u003cNSAttributedString *\u003e *)\n instructionsForStep:(nonnull ../Classes/GMSNavigationStepInfo.html *)stepInfo\n options:(nonnull ../Classes/GMSNavigationInstructionOptions.html *)options;\n\n- `\n ``\n ``\n `\n\n [-init](#/c:objc(cs)GMSNavigationNavInfo(im)init)`\n ` \n Unavailable \n\n Declaration \n Objective-C \n\n - (null_unspecified instancetype)init NS_UNAVAILABLE;"]]