# GoogleNavigation Framework Reference

# GMSNavigationNavInfo

    @interface GMSNavigationNavInfo : NSObject

Contains information about the state of navigation
- `


  ### [navState](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSNavigationNavInfo#/c:objc(cs)GMSNavigationNavInfo(py)navState)


  ` The current `https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSNavigationNavState.html` for navigation.

  #### Declaration

  Swift

      var navState: https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSNavigationNavState.html { get }

  Objective-C

      @property (nonatomic, readonly) https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSNavigationNavState.html navState;

- `


  ### [currentStep](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSNavigationNavInfo#/c:objc(cs)GMSNavigationNavInfo(py)currentStep)


  ` Information about the upcoming maneuver step. This is only set if the navState is
  `GMSNavigationNavStateEnroute` and will be null otherwise.

  #### Declaration

  Swift

      var currentStep: https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSNavigationStepInfo.html? { get }

  Objective-C

      @property (nonatomic, readonly, nullable) https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSNavigationStepInfo.html *currentStep;

- `


  ### [remainingSteps](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSNavigationNavInfo#/c:objc(cs)GMSNavigationNavInfo(py)remainingSteps)


  ` The remaining steps after the current step.

  #### Declaration

  Swift

      var remainingSteps: [https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSNavigationStepInfo.html] { get }

  Objective-C

      @property (nonatomic, readonly) NSArray<https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSNavigationStepInfo.html *> *_Nonnull remainingSteps;

- `


  ### [routeChanged](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSNavigationNavInfo#/c:objc(cs)GMSNavigationNavInfo(py)routeChanged)


  ` 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.

  #### Declaration

  Swift

      var routeChanged: Bool { get }

  Objective-C

      @property (nonatomic, readonly) BOOL routeChanged;

- `


  ### [timeToCurrentStepSeconds](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSNavigationNavInfo#/c:objc(cs)GMSNavigationNavInfo(py)timeToCurrentStepSeconds)


  ` The estimated remaining time in seconds along the route to the current step.

  #### Declaration

  Swift

      var timeToCurrentStepSeconds: TimeInterval { get }

  Objective-C

      @property (nonatomic, readonly) NSTimeInterval timeToCurrentStepSeconds;

- `


  ### [distanceToCurrentStepMeters](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSNavigationNavInfo#/c:objc(cs)GMSNavigationNavInfo(py)distanceToCurrentStepMeters)


  ` The estimated remaining distance in meters along the route to the current step .

  #### Declaration

  Swift

      var distanceToCurrentStepMeters: CLLocationDistance { get }

  Objective-C

      @property (nonatomic, readonly) CLLocationDistance distanceToCurrentStepMeters;

- `


  ### [timeToFinalDestinationSeconds](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSNavigationNavInfo#/c:objc(cs)GMSNavigationNavInfo(py)timeToFinalDestinationSeconds)


  ` The estimated remaining time in seconds to the final destination.

  #### Declaration

  Swift

      var timeToFinalDestinationSeconds: TimeInterval { get }

  Objective-C

      @property (nonatomic, readonly) NSTimeInterval timeToFinalDestinationSeconds;

- `


  ### [distanceToFinalDestinationMeters](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSNavigationNavInfo#/c:objc(cs)GMSNavigationNavInfo(py)distanceToFinalDestinationMeters)


  ` The estimated remaining distance in meters to the final destination.

  #### Declaration

  Swift

      var distanceToFinalDestinationMeters: CLLocationDistance { get }

  Objective-C

      @property (nonatomic, readonly) CLLocationDistance distanceToFinalDestinationMeters;

- `


  ### [-roundedTime:](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSNavigationNavInfo#/c:objc(cs)GMSNavigationNavInfo(im)roundedTime:)


  ` Returns a time rounded to the nearest minute, with a minimum of one minute.

  This can be useful when displaying route information to users, since it can be
  confusing to display times such a "0 min".

  Due to the above, input values to this method should always be positive.

  #### Declaration

  Swift

      func roundedTime(_ timeSeconds: TimeInterval) -> TimeInterval

  Objective-C

      - (NSTimeInterval)roundedTime:(NSTimeInterval)timeSeconds;

- `


  ### [-roundedDistance:](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSNavigationNavInfo#/c:objc(cs)GMSNavigationNavInfo(im)roundedDistance:)


  ` Returns a rounded measurement representing the given distance, taking into account user
  preferences and the recommended distance unit for the route.

  #### Declaration

  Swift

      func roundedDistance(_ distanceMeters: CLLocationDistance) -> Measurement<UnitLength>

  Objective-C

      - (nonnull NSMeasurement<NSUnitLength *> *)roundedDistance:
          (CLLocationDistance)distanceMeters;

- `


  ### [-instructionsForStep:options:](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSNavigationNavInfo#/c:objc(cs)GMSNavigationNavInfo(im)instructionsForStep:options:)


  ` The formatted instructions for the given step.

  #### Declaration

  Swift

      func instructions(forStep stepInfo: https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSNavigationStepInfo.html, options: https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSNavigationInstructionOptions.html) -> [NSAttributedString]

  Objective-C

      - (nonnull NSArray<NSAttributedString *> *)
          instructionsForStep:(nonnull https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSNavigationStepInfo.html *)stepInfo
                      options:(nonnull https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSNavigationInstructionOptions.html *)options;

- `


  ### [-init](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSNavigationNavInfo#/c:objc(cs)GMSNavigationNavInfo(im)init)


  ` Unavailable

  #### Declaration

  Objective-C

      - (null_unspecified instancetype)init NS_UNAVAILABLE;