# GoogleNavigation Framework Reference

# GMSNavigationSession

    @interface GMSNavigationSession : NSObject

This class provides a set of related objects that can be used to programmatically control
a navigation session.
- `


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


  ` Whether or not navigation on this session is started.

  A session cannot be started unless terms and conditions have previously
  been accepted.

  Starting a session is a prerequisite for activating guidance on the
  session's navigator, or for starting location updates from the session's
  road-snapped location provider.

  A started session receives location from CoreLocation as determined
  by the application's location authorization. Your app can temporarily stop the Navigation SDK
  from requesting location updates. For instance, it might do this in order to reduce battery usage
  in a period when location updates are known to be unnecessary.

  #### Declaration

  Swift

      var isStarted: Bool { get set }

  Objective-C

      @property (nonatomic, getter=isStarted) BOOL started;

- `


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


  ` The travel mode for this session.

  #### Declaration

  Swift

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

  Objective-C

      @property (nonatomic) https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSNavigationTravelMode.html travelMode;

- `


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


  ` An instance of `https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSLocationSimulator.html` which can be used to simulate locations for this session,
  or nil if terms and conditions have not been accepted.

  #### Declaration

  Swift

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

  Objective-C

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

- `


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


  ` The instance of `https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSNavigator.html` managing this navigation session, or nil if terms and conditions
  have not been accepted.

  #### Declaration

  Swift

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

  Objective-C

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

- `


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


  ` The road-snapped location provider for this session, or nil if terms and conditions have not
  been accepted.

  #### Declaration

  Swift

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

  Objective-C

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

- `


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


  ` Unavailable
  Instances of this class should be obtained by calling the method on `https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSNavigationServices.html`.

  #### Declaration

  Objective-C

      - (nonnull instancetype)init;