GoogleNavigation Framework Reference

Protocols

The following protocols are available globally.

  • Protocol for supplying an App Check token to the Navigation SDK.

    Declaration

    Swift

    protocol GMSAppCheckTokenProvider : NSObjectProtocol

    Objective-C

    @protocol GMSAppCheckTokenProvider <NSObject>
  • Protocol for an object that hosts the layoutDelegate property, adopted by the NavigationLayout category of GMSMapView.

    Declaration

    Swift

    @MainActor protocol GMSMapViewNavigationLayout : NSObjectProtocol

    Objective-C

    @protocol GMSMapViewNavigationLayout;
    
  • A delegate for events on GMSMapView related to the navigation UI.

    Declaration

    Swift

    protocol GMSMapViewNavigationUIDelegate : NSObjectProtocol

    Objective-C

    @protocol GMSMapViewNavigationUIDelegate <NSObject>
  • Protocol defining methods that support custom views specifying accessory UI elements applied to the primary view. Accessory views must implement this protocol in order to be visible.

    Declaration

    Swift

    protocol GMSNavigationAccessoryView : NSObjectProtocol

    Objective-C

    @protocol GMSNavigationAccessoryView <NSObject>
  • Protocol for navigation views with configurable rounded corners.

    Declaration

    Swift

    protocol NavigationRoundedCornerView : NSObjectProtocol

    Objective-C

    @protocol GMSNavigationRoundedCornerView <NSObject>
  • Protocol for describing Google-provided buttons intended to be floated over the map.

    Declaration

    Swift

    protocol NavigationUIButton

    Objective-C

    @protocol GMSNavigationUIButton
  • Protocol for the common portions of the UI state across navigation-ready and active guidance modes.

    Declaration

    Swift

    protocol NavigationUIState

    Objective-C

    @protocol GMSNavigationUIState
  • Optional Google-provided UI elements for the navigation-ready state.

    Declaration

    Swift

    protocol NavigationReadyUIState : NavigationUIState

    Objective-C

    @protocol GMSNavigationReadyUIState <GMSNavigationUIState>
  • Optional Google-provided UI elements for the active guidance state.

    Declaration

    Swift

    protocol ActiveGuidanceUIState : NavigationUIState

    Objective-C

    @protocol GMSActiveGuidanceUIState <GMSNavigationUIState>
  • The protocol that layout delegates must implement in order to take control of the layout of the map container during navigation-ready or active guidance modes.

    Since the purpose of these methods is to modify the view hierarchy, all methods are MainActor- restricted. The protocol itself is not MainActor-restricted, since implementations may have other non-MainActor methods.

    Declaration

    Swift

    protocol NavigationLayoutDelegate : NSObjectProtocol

    Objective-C

    @protocol GMSNavigationLayoutDelegate <NSObject>
  • Encapsulates the result of a setDestinations request, wrapping the route status and, on failure, an error describing what went wrong.

    @related GMSNavigator

    Declaration

    Swift

    protocol NavigationRouteDescription : NSObjectProtocol

    Objective-C

    @protocol GMSNavigationRouteDescription <NSObject>
  • Details regarding how a route token request was processed by the routing engine, including route token application status and resolved routing parameters.

    Declaration

    Swift

    protocol NavigationRouteTokenExecutionDetails : NSObjectProtocol

    Objective-C

    @protocol GMSNavigationRouteTokenExecutionDetails <NSObject>
  • Resolved routing parameters embedded within a precomputed route token and applied by the backend routing engine.

    Declaration

    Swift

    protocol NavigationRouteTokenResolvedParameters : NSObjectProtocol

    Objective-C

    @protocol GMSNavigationRouteTokenResolvedParameters <NSObject>
  • Protocol for returning information about screen metrics.

    This protocol is a subset of the screen-metric-related properties implemented by UIScreen.

    Declaration

    Swift

    protocol GMSNavigationScreenMetrics

    Objective-C

    @protocol GMSNavigationScreenMetrics
  • Listener for events on GMSNavigator.

    Declaration

    Swift

    protocol GMSNavigatorListener : NSObjectProtocol

    Objective-C

    @protocol GMSNavigatorListener <NSObject>
  • Listener for events on GMSRoadSnappedLocationProvider.

    Declaration

    Swift

    protocol GMSRoadSnappedLocationProviderListener : NSObjectProtocol

    Objective-C

    @protocol GMSRoadSnappedLocationProviderListener <NSObject>
  • An interface representing a feature’s metadata.

    Do not save a reference to a particular feature object because the reference will not be stable.

    Declaration

    Swift

    protocol Feature : NSObjectProtocol

    Objective-C

    @protocol GMSFeature <NSObject>
  • Delegate for events on GMSIndoorDisplay.

    Declaration

    Swift

    protocol GMSIndoorDisplayDelegate : NSObjectProtocol

    Objective-C

    @protocol GMSIndoorDisplayDelegate <NSObject>
  • Delegate for events on GMSMapView.

    Declaration

    Swift

    protocol GMSMapViewDelegate : NSObjectProtocol

    Objective-C

    @protocol GMSMapViewDelegate <NSObject>
  • Delegate for events on GMSPanoramaView.

    Declaration

    Swift

    protocol GMSPanoramaViewDelegate : NSObjectProtocol

    Objective-C

    @protocol GMSPanoramaViewDelegate <NSObject>
  • GMSTileReceiver is provided to GMSTileLayer when a tile request is made, allowing the callback to be later (or immediately) invoked.

    Declaration

    Swift

    protocol GMSTileReceiver : NSObjectProtocol

    Objective-C

    @protocol GMSTileReceiver <NSObject>