Protocols
The following protocols are available globally.
-
Protocol for supplying an App Check token to the Navigation SDK.
Declaration
Swift
protocol GMSAppCheckTokenProvider : NSObjectProtocolObjective-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 : NSObjectProtocolObjective-C
@protocol GMSMapViewNavigationLayout; -
A delegate for events on
GMSMapViewrelated to the navigation UI.Declaration
Swift
protocol GMSMapViewNavigationUIDelegate : NSObjectProtocolObjective-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 : NSObjectProtocolObjective-C
@protocol GMSNavigationAccessoryView <NSObject> -
Protocol for navigation views with configurable rounded corners.
Declaration
Swift
protocol NavigationRoundedCornerView : NSObjectProtocolObjective-C
@protocol GMSNavigationRoundedCornerView <NSObject> -
Protocol for describing Google-provided buttons intended to be floated over the map.
Declaration
Swift
protocol NavigationUIButtonObjective-C
@protocol GMSNavigationUIButton -
Protocol for the common portions of the UI state across navigation-ready and active guidance modes.
Declaration
Swift
protocol NavigationUIStateObjective-C
@protocol GMSNavigationUIState -
Optional Google-provided UI elements for the navigation-ready state.
Declaration
Swift
protocol NavigationReadyUIState : NavigationUIStateObjective-C
@protocol GMSNavigationReadyUIState <GMSNavigationUIState> -
Optional Google-provided UI elements for the active guidance state.
Declaration
Swift
protocol ActiveGuidanceUIState : NavigationUIStateObjective-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 : NSObjectProtocolObjective-C
@protocol GMSNavigationLayoutDelegate <NSObject> -
Encapsulates the result of a
setDestinationsrequest, wrapping the route status and, on failure, an error describing what went wrong.@related
GMSNavigatorDeclaration
Swift
protocol NavigationRouteDescription : NSObjectProtocolObjective-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 : NSObjectProtocolObjective-C
@protocol GMSNavigationRouteTokenExecutionDetails <NSObject> -
Resolved routing parameters embedded within a precomputed route token and applied by the backend routing engine.
Declaration
Swift
protocol NavigationRouteTokenResolvedParameters : NSObjectProtocolObjective-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 GMSNavigationScreenMetricsObjective-C
@protocol GMSNavigationScreenMetrics -
Listener for events on
GMSNavigator.Declaration
Swift
protocol GMSNavigatorListener : NSObjectProtocolObjective-C
@protocol GMSNavigatorListener <NSObject> -
Listener for events on
GMSRoadSnappedLocationProvider.Declaration
Swift
protocol GMSRoadSnappedLocationProviderListener : NSObjectProtocolObjective-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 : NSObjectProtocolObjective-C
@protocol GMSFeature <NSObject> -
Delegate for events on
GMSIndoorDisplay.Declaration
Swift
protocol GMSIndoorDisplayDelegate : NSObjectProtocolObjective-C
@protocol GMSIndoorDisplayDelegate <NSObject> -
Delegate for events on
GMSMapView.Declaration
Swift
protocol GMSMapViewDelegate : NSObjectProtocolObjective-C
@protocol GMSMapViewDelegate <NSObject> -
Delegate for events on
GMSPanoramaView.Declaration
Swift
protocol GMSPanoramaViewDelegate : NSObjectProtocolObjective-C
@protocol GMSPanoramaViewDelegate <NSObject> -
GMSTileReceiveris provided toGMSTileLayerwhen a tile request is made, allowing the callback to be later (or immediately) invoked.Declaration
Swift
protocol GMSTileReceiver : NSObjectProtocolObjective-C
@protocol GMSTileReceiver <NSObject>