# Enumerations

The following enumerations are available globally.
- `


  ### [GMSNavigationDelayCategory](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSNavigationDelayCategory)


  ` A `GMSNavigationDelayCategory` is a category that represents the delay category of a route or a
  a path.

  #### Declaration

  Swift

      enum GMSNavigationDelayCategory : Int, @unchecked Sendable

  Objective-C

      enum GMSNavigationDelayCategory : NSInteger {}

- `


  ### [GMSNavigationHidingStackPosition](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSNavigationHidingStackPosition)


  ` Determines the vertical position of the arranged subviews within this container, and the order in
  which views are laid out.
  - .top: Views are laid out from top to bottom.
  - .center: Views are laid out from top to bottom.
  - .bottom: Views are laid out from bottom to top.

  #### Declaration

  Swift

      enum GMSNavigationHidingStackPosition : Int, @unchecked Sendable

  Objective-C

      enum GMSNavigationHidingStackPosition : NSInteger {}

- `


  ### [GMSNavigationHidingStackViewAlignment](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSNavigationHidingStackViewAlignment)


  ` Determines the horizontal alignment of the arranged subviews.
  - .leading: Views are aligned to the leading edge of the view.
  - .trailing: Views are aligned to the trailing edge of the view.

  #### Declaration

  Swift

      enum GMSNavigationHidingStackViewAlignment : Int, @unchecked Sendable

  Objective-C

      enum GMSNavigationHidingStackViewAlignment : NSInteger {}

- `


  ### [GMSNavigationRerouteStrategy](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSNavigationRerouteStrategy)


  ` Reroute strategy applied by the backend routing engine.

  #### Declaration

  Swift

      enum NavigationRerouteStrategy : Int, @unchecked Sendable

  Objective-C

      enum GMSNavigationRerouteStrategy : NSInteger {}

- `


  ### [GMSNavigationRouteTokenExecutionStatus](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSNavigationRouteTokenExecutionStatus)


  ` The status of precomputed route token execution during route calculation.

  #### Declaration

  Swift

      enum NavigationRouteTokenExecutionStatus : Int, @unchecked Sendable

  Objective-C

      enum GMSNavigationRouteTokenExecutionStatus : NSInteger {}

- `


  ### [GMSNavigationManeuverImageSize](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSNavigationManeuverImageSize)


  ` The image size which `https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSNavigationStepInfo` images will be generated.

  #### Declaration

  Swift

      enum GMSNavigationManeuverImageSize : Int, @unchecked Sendable

  Objective-C

      enum GMSNavigationManeuverImageSize : NSInteger {}

- `


  ### [GMSNavigationCameraMode](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSNavigationCameraMode)


  ` The camera mode which determines the camera following behavior.

  #### Declaration

  Swift

      enum GMSNavigationCameraMode : Int, @unchecked Sendable

  Objective-C

      enum GMSNavigationCameraMode : NSInteger {}

- `


  ### [GMSNavigationCameraPerspective](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSNavigationCameraPerspective)


  ` The different camera perspectives that can be set when following the user location.

  #### Declaration

  Swift

      enum GMSNavigationCameraPerspective : Int, @unchecked Sendable

  Objective-C

      enum GMSNavigationCameraPerspective : NSInteger {}

- `


  ### [GMSNavigationTravelMode](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSNavigationTravelMode)


  ` The different travel modes that can be used for navigation.

  #### Declaration

  Swift

      enum GMSNavigationTravelMode : Int, @unchecked Sendable

  Objective-C

      enum GMSNavigationTravelMode : NSInteger {}

- `


  ### [GMSNavigationVoiceGuidance](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSNavigationVoiceGuidance)


  ` Determines whether voice guidance is played under certain circumstances.

  #### Declaration

  Swift

      enum GMSNavigationVoiceGuidance : Int, @unchecked Sendable

  Objective-C

      enum GMSNavigationVoiceGuidance : NSInteger {}

- `


  ### [GMSVoiceGuidanceAudioDeviceType](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSVoiceGuidanceAudioDeviceType)


  ` Determines what type of audio devices voice guidance may be played through.

  #### Declaration

  Swift

      enum GMSVoiceGuidanceAudioDeviceType : Int, @unchecked Sendable

  Objective-C

      enum GMSVoiceGuidanceAudioDeviceType : NSInteger {}

- `


  ### [GMSRouteStatus](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSRouteStatus)


  ` A `GMSRouteStatus` is a status code that represents the result of a route request.

  #### Declaration

  Swift

      enum GMSRouteStatus : Int, @unchecked Sendable

  Objective-C

      enum GMSRouteStatus : NSInteger {}

- `


  ### [GMSNavigationLightingMode](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSNavigationLightingMode)


  ` Lighting mode is used to specify different color schemes based on available light.

  #### Declaration

  Swift

      enum GMSNavigationLightingMode : Int, @unchecked Sendable

  Objective-C

      enum GMSNavigationLightingMode : NSInteger {}

- `


  ### [GMSNavigationRoutingStrategy](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSNavigationRoutingStrategy)


  ` The routing strategy specifies how routes are ranked, which affects the route when it is chosen
  and during re-routing. The default value is `GMSNavigationRoutingStrategyDefaultBest`.

  #### Declaration

  Swift

      enum GMSNavigationRoutingStrategy : Int, @unchecked Sendable

  Objective-C

      enum GMSNavigationRoutingStrategy : NSInteger {}

- `


  ### [GMSNavigationRouteCalloutFormat](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSNavigationRouteCalloutFormat)


  ` The format specifies whether to show distance or ETA information in route callouts.

  #### Declaration

  Swift

      enum GMSNavigationRouteCalloutFormat : Int, @unchecked Sendable

  Objective-C

      enum GMSNavigationRouteCalloutFormat : NSInteger {}

- `


  ### [GMSNavigationAlternateRoutesStrategy](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSNavigationAlternateRoutesStrategy)


  ` Indicates the maximum number of alternate routes that can be requested.

  #### Declaration

  Swift

      enum GMSNavigationAlternateRoutesStrategy : Int, @unchecked Sendable

  Objective-C

      enum GMSNavigationAlternateRoutesStrategy : NSInteger {}

- `


  ### [GMSNavigationSpeedAlertSeverity](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSNavigationSpeedAlertSeverity)


  `

  #### Declaration

  Swift

      enum GMSNavigationSpeedAlertSeverity : Int, @unchecked Sendable

  Objective-C

      NS_ENUM(NSInteger, GMSNavigationSpeedAlertSeverity) {
        /** Either speed or speed limit could not be determined. */
        GMSNavigationSpeedAlertSeverityUnknown = -2,

        /** No speeding is occurring. */
        GMSNavigationSpeedAlertSeverityNotSpeeding = -1,

        /** Minor speed alert. */
        GMSNavigationSpeedAlertSeverityMinor = 0,

        /** Major speed alert. */
        GMSNavigationSpeedAlertSeverityMajor,
      }

- `


  ### [GMSNavigationNavState](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSNavigationNavState)


  ` The state of navigation.

  #### Declaration

  Swift

      enum GMSNavigationNavState : Int, @unchecked Sendable

  Objective-C

      enum GMSNavigationNavState : NSInteger {}

- `


  ### [GMSNavigationDrivingSide](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSNavigationDrivingSide)


  ` Whether this step is on a drive-on-right or drive-on-left route. May be unspecified.

  #### Declaration

  Swift

      enum GMSNavigationDrivingSide : UInt, @unchecked Sendable

  Objective-C

      enum GMSNavigationDrivingSide : NSUInteger {}

- `


  ### [GMSNavigationManeuver](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSNavigationManeuver)


  ` A set of values that specify the navigation action to take.

  #### Declaration

  Swift

      enum GMSNavigationManeuver : UInt, @unchecked Sendable

  Objective-C

      enum GMSNavigationManeuver : NSUInteger {}

- `


  ### [GMSNavigationLaneShape](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSNavigationLaneShape)


  ` A set of values describing the shape of a lane.

  #### Declaration

  Swift

      enum GMSNavigationLaneShape : Int, @unchecked Sendable

  Objective-C

      enum GMSNavigationLaneShape : NSInteger {}

- `


  ### [GMSNavigationVolumeLevel](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSNavigationVolumeLevel)


  ` Determines the volume level of voice guidance.

  #### Declaration

  Swift

      enum GMSNavigationVolumeLevel : Int, @unchecked Sendable

  Objective-C

      enum GMSNavigationVolumeLevel : NSInteger {}

- `


  ### [GMSCollisionBehavior](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSCollisionBehavior)


  ` How markers interact with other markers and regular labels. Defaults to
  `GMSCollisionBehaviorRequired`.

  Marker collisions occur when coordinates intersect.

  Priority is defined as:
  1) Required \> Optional
  2) zIndex: higher zIndex \> lower zIndex

  Beyond this, it is undefined which marker will show if both are optional and have the same
  zIndex.
  Regular map labels are the lowest priority.

  #### Declaration

  Swift

      enum GMSCollisionBehavior : Int, @unchecked Sendable

  Objective-C

      enum GMSCollisionBehavior : NSInteger {}

- `


  ### [GMSGeocoderErrorCode](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSGeocoderErrorCode)


  ` `https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSGeocoder` error codes, embedded in NSError.

  #### Declaration

  Swift

      enum GMSGeocoderErrorCode : Int, @unchecked Sendable

  Objective-C

      enum GMSGeocoderErrorCode : NSInteger {}

- `


  ### [GMSMapCapabilityFlags](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSMapCapabilityFlags)


  ` Flags that represent conditionally-available map capabilities (ones that require a mapID or some
  other map setting) that can be used to indicate availability.

  #### Declaration

  Swift

      struct GMSMapCapabilityFlags : OptionSet, @unchecked Sendable

  Objective-C

      enum GMSMapCapabilityFlags : NSUInteger {}

- `


  ### [GMSFrameRate](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSFrameRate)


  ` Rendering frame rates for `https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSMapView`.

  #### Declaration

  Swift

      enum GMSFrameRate : UInt, @unchecked Sendable

  Objective-C

      enum GMSFrameRate : NSUInteger {}

- `


  ### [GMSMapViewPaddingAdjustmentBehavior](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSMapViewPaddingAdjustmentBehavior)


  ` Constants indicating how safe area insets are added to padding.

  #### Declaration

  Swift

      enum GMSMapViewPaddingAdjustmentBehavior : UInt, @unchecked Sendable

  Objective-C

      enum GMSMapViewPaddingAdjustmentBehavior : NSUInteger {}

- `


  ### [GMSMapViewType](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSMapViewType)


  ` Display types for `https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSMapView`.

  #### Declaration

  Swift

      enum GMSMapViewType : UInt, @unchecked Sendable

  Objective-C

      enum GMSMapViewType : NSUInteger {}

- `


  ### [GMSMarkerAnimation](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSMarkerAnimation)


  ` Animation types for GMSMarker.

  #### Declaration

  Swift

      enum GMSMarkerAnimation : UInt, @unchecked Sendable

  Objective-C

      enum GMSMarkerAnimation : NSUInteger {}

- `


  ### [GMSPanoramaSource](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSPanoramaSource)


  ` Source types for Panoramas. Used to specify the source of a StreetView Panorama.

  This API is experimental. Results may not always match expectations.

  #### Declaration

  Swift

      enum GMSPanoramaSource : UInt, @unchecked Sendable

  Objective-C

      enum GMSPanoramaSource : NSUInteger {}

- `


  ### [GMSLengthKind](https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSLengthKind)


  ` `GMSLengthKind` indicates the type of a length value, which can be geodesic (in meters), rhumb
  length (in meters) and projected length (in `https://developers.google.com/maps/documentation/navigation/ios-sdk/reference/objc/Structs/GMSMapPoint` units).

  #### Declaration

  Swift

      enum GMSLengthKind : UInt, @unchecked Sendable

  Objective-C

      enum GMSLengthKind : NSUInteger {}