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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-11-15 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,["Protocols\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 A delegate for events on [GMSMapView](/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSMapView) related to the navigation UI. \n\n Declaration \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 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 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 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 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 Listener for events on [GMSNavigator](/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSNavigator). \n\n Declaration \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 Listener for events on [GMSRoadSnappedLocationProvider](/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSRoadSnappedLocationProvider). \n\n Declaration \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 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 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 Delegate for events on [GMSIndoorDisplay](/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSIndoorDisplay). \n\n Declaration \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 Delegate for events on [GMSMapView](/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSMapView). \n\n Declaration \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 Delegate for events on [GMSPanoramaView](/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSPanoramaView). \n\n Declaration \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 `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 Swift \n\n protocol GMSTileReceiver : NSObjectProtocol\n\n Objective-C \n\n @protocol GMSTileReceiver \u003cNSObject\u003e"]]