GoogleNavigation Framework Reference
Stay organized with collections
Save and categorize content based on your preferences.
Protocols
The following protocols are available globally.
-
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 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
-
Declaration
Swift
protocol GMSNavigatorListener : NSObjectProtocol
Objective-C
@protocol GMSNavigatorListener <NSObject>
-
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>
-
Declaration
Swift
protocol GMSIndoorDisplayDelegate : NSObjectProtocol
Objective-C
@protocol GMSIndoorDisplayDelegate <NSObject>
-
Declaration
Swift
protocol GMSMapViewDelegate : NSObjectProtocol
Objective-C
@protocol GMSMapViewDelegate <NSObject>
-
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>
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-27 UTC.
[null,null,["Last updated 2025-08-27 UTC."],[[["\u003cp\u003eThis documentation details globally available protocols for the Maps SDK for iOS.\u003c/p\u003e\n"],["\u003cp\u003eThese protocols define delegates and listeners for handling events and interactions within the map environment.\u003c/p\u003e\n"],["\u003cp\u003eThey cover areas such as navigation UI, custom views, screen metrics, and location updates.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can use these protocols to customize map behavior and respond to user actions.\u003c/p\u003e\n"],["\u003cp\u003eProtocols are available for features like indoor maps, panoramic views, and tile layers.\u003c/p\u003e\n"]]],[],null,["# GoogleNavigation Framework Reference\n\nProtocols\n=========\n\nThe following protocols are available globally.\n- `\n ``\n ``\n `\n\n ### [GMSMapViewNavigationUIDelegate](/maps/documentation/navigation/ios-sdk/reference/objc/Protocols/GMSMapViewNavigationUIDelegate)\n\n `\n ` \n A delegate for events on [GMSMapView](/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSMapView) related to the navigation UI. \n\n #### Declaration\n\n Swift \n\n protocol GMSMapViewNavigationUIDelegate : NSObjectProtocol\n\n Objective-C \n\n @protocol GMSMapViewNavigationUIDelegate \u003cNSObject\u003e\n\n- `\n ``\n ``\n `\n\n ### [GMSNavigationAccessoryView](/maps/documentation/navigation/ios-sdk/reference/objc/Protocols/GMSNavigationAccessoryView)\n\n `\n ` \n Protocol defining methods that support custom views specifying accessory UI elements applied to\n the primary view. Accessory views must implement this protocol in order to be visible. \n\n #### Declaration\n\n Swift \n\n protocol GMSNavigationAccessoryView : NSObjectProtocol\n\n Objective-C \n\n @protocol GMSNavigationAccessoryView \u003cNSObject\u003e\n\n- `\n ``\n ``\n `\n\n ### [GMSNavigationScreenMetrics](/maps/documentation/navigation/ios-sdk/reference/objc/Protocols/GMSNavigationScreenMetrics)\n\n `\n ` \n Protocol for returning information about screen metrics.\n\n This protocol is a subset of the screen-metric-related properties implemented by `UIScreen`. \n\n #### Declaration\n\n Swift \n\n protocol GMSNavigationScreenMetrics\n\n Objective-C \n\n @protocol GMSNavigationScreenMetrics\n\n- `\n ``\n ``\n `\n\n ### [GMSNavigatorListener](/maps/documentation/navigation/ios-sdk/reference/objc/Protocols/GMSNavigatorListener)\n\n `\n ` \n Listener for events on [GMSNavigator](/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSNavigator). \n\n #### Declaration\n\n Swift \n\n protocol GMSNavigatorListener : NSObjectProtocol\n\n Objective-C \n\n @protocol GMSNavigatorListener \u003cNSObject\u003e\n\n- `\n ``\n ``\n `\n\n ### [GMSRoadSnappedLocationProviderListener](/maps/documentation/navigation/ios-sdk/reference/objc/Protocols/GMSRoadSnappedLocationProviderListener)\n\n `\n ` \n Listener for events on [GMSRoadSnappedLocationProvider](/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSRoadSnappedLocationProvider). \n\n #### Declaration\n\n Swift \n\n protocol GMSRoadSnappedLocationProviderListener : NSObjectProtocol\n\n Objective-C \n\n @protocol GMSRoadSnappedLocationProviderListener \u003cNSObject\u003e\n\n- `\n ``\n ``\n `\n\n ### [GMSFeature](/maps/documentation/navigation/ios-sdk/reference/objc/Protocols/GMSFeature)\n\n `\n ` \n An interface representing a feature's metadata.\n\n Do not save a reference to a particular feature object because the reference will not be stable. \n\n #### Declaration\n\n Swift \n\n protocol Feature : NSObjectProtocol\n\n Objective-C \n\n @protocol GMSFeature \u003cNSObject\u003e\n\n- `\n ``\n ``\n `\n\n ### [GMSIndoorDisplayDelegate](/maps/documentation/navigation/ios-sdk/reference/objc/Protocols/GMSIndoorDisplayDelegate)\n\n `\n ` \n Delegate for events on [GMSIndoorDisplay](/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSIndoorDisplay). \n\n #### Declaration\n\n Swift \n\n protocol GMSIndoorDisplayDelegate : NSObjectProtocol\n\n Objective-C \n\n @protocol GMSIndoorDisplayDelegate \u003cNSObject\u003e\n\n- `\n ``\n ``\n `\n\n ### [GMSMapViewDelegate](/maps/documentation/navigation/ios-sdk/reference/objc/Protocols/GMSMapViewDelegate)\n\n `\n ` \n Delegate for events on [GMSMapView](/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSMapView). \n\n #### Declaration\n\n Swift \n\n protocol GMSMapViewDelegate : NSObjectProtocol\n\n Objective-C \n\n @protocol GMSMapViewDelegate \u003cNSObject\u003e\n\n- `\n ``\n ``\n `\n\n ### [GMSPanoramaViewDelegate](/maps/documentation/navigation/ios-sdk/reference/objc/Protocols/GMSPanoramaViewDelegate)\n\n `\n ` \n Delegate for events on [GMSPanoramaView](/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSPanoramaView). \n\n #### Declaration\n\n Swift \n\n protocol GMSPanoramaViewDelegate : NSObjectProtocol\n\n Objective-C \n\n @protocol GMSPanoramaViewDelegate \u003cNSObject\u003e\n\n- `\n ``\n ``\n `\n\n ### [GMSTileReceiver](/maps/documentation/navigation/ios-sdk/reference/objc/Protocols/GMSTileReceiver)\n\n `\n ` \n `GMSTileReceiver` is provided to [GMSTileLayer](/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSTileLayer) when a tile request is made, allowing the\n callback to be later (or immediately) invoked. \n\n #### Declaration\n\n Swift \n\n protocol GMSTileReceiver : NSObjectProtocol\n\n Objective-C \n\n @protocol GMSTileReceiver \u003cNSObject\u003e"]]