[[["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 2025-08-27 UTC."],[[["\u003cp\u003eThis documentation details globally available protocols for the Google Maps SDK for iOS.\u003c/p\u003e\n"],["\u003cp\u003eThese protocols define interfaces for features, indoor displays, map views, panorama views, and tile receivers.\u003c/p\u003e\n"],["\u003cp\u003eThe protocols act as delegates, receiving events and providing callbacks for interactions with map elements.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers use these protocols to customize the behavior and appearance of map features within their iOS applications.\u003c/p\u003e\n"],["\u003cp\u003eIt is crucial to note that feature object references are not stable and should not be stored for extended use.\u003c/p\u003e\n"]]],[],null,["# GoogleMaps Framework Reference\n\nProtocols\n=========\n\nThe following protocols are available globally.\n- `\n ``\n ``\n `\n\n ### [GMSFeature](/maps/documentation/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/ios-sdk/reference/objc/Protocols/GMSIndoorDisplayDelegate)\n\n `\n ` \n Delegate for events on [GMSIndoorDisplay](/maps/documentation/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/ios-sdk/reference/objc/Protocols/GMSMapViewDelegate)\n\n `\n ` \n Delegate for events on [GMSMapView](/maps/documentation/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/ios-sdk/reference/objc/Protocols/GMSPanoramaViewDelegate)\n\n `\n ` \n Delegate for events on [GMSPanoramaView](/maps/documentation/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/ios-sdk/reference/objc/Protocols/GMSTileReceiver)\n\n `\n ` \n `GMSTileReceiver` is provided to [GMSTileLayer](/maps/documentation/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"]]