[[["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 protocols available globally for the Places SDK for iOS.\u003c/p\u003e\n"],["\u003cp\u003eThese protocols enable communication between various Places SDK classes and the application.\u003c/p\u003e\n"],["\u003cp\u003eThey facilitate tasks such as autocomplete, place selection, and location biasing/restriction.\u003c/p\u003e\n"],["\u003cp\u003eThe protocols define delegate methods for handling user interactions and receiving results.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can implement these protocols to customize the behavior of Places SDK features.\u003c/p\u003e\n"]]],["The content details seven globally available protocols. `GMSAutocompleteFetcherDelegate` receives callbacks. `GMSAutocompleteResultsViewControllerDelegate`, `GMSAutocompleteTableDataSourceDelegate`, and `GMSAutocompleteViewControllerDelegate` communicate user interactions with their respective controllers or data sources. `GMSPlaceLocationBias` and `GMSPlaceLocationRestriction` allow locations to be used as search bias or restriction. `GMSPlacesAppCheckTokenProvider` provides App Check tokens for the Places SDK. Each is available in Swift and Objective-C.\n"],null,["# GooglePlaces Framework Reference\n\nProtocols\n=========\n\nThe following protocols are available globally.\n- `\n ``\n ``\n `\n\n ### [GMSAutocompleteFetcherDelegate](/maps/documentation/places/ios-sdk/reference/objc/Protocols/GMSAutocompleteFetcherDelegate)\n\n `\n ` \n Protocol for objects that can receive callbacks from GMSAutocompleteFetcher. \n\n #### Declaration\n\n Swift \n\n protocol GMSAutocompleteFetcherDelegate : NSObjectProtocol\n\n Objective-C \n\n @protocol GMSAutocompleteFetcherDelegate \u003cNSObject\u003e\n\n- `\n ``\n ``\n `\n\n ### [GMSAutocompleteResultsViewControllerDelegate](/maps/documentation/places/ios-sdk/reference/objc/Protocols/GMSAutocompleteResultsViewControllerDelegate)\n\n `\n ` \n Protocol used by [GMSAutocompleteResultsViewController](/maps/documentation/places/ios-sdk/reference/objc/Classes/GMSAutocompleteResultsViewController), to communicate the user's interaction\n with the controller to the application. \n\n #### Declaration\n\n Swift \n\n protocol GMSAutocompleteResultsViewControllerDelegate : NSObjectProtocol\n\n Objective-C \n\n @protocol GMSAutocompleteResultsViewControllerDelegate \u003cNSObject\u003e\n\n- `\n ``\n ``\n `\n\n ### [GMSAutocompleteTableDataSourceDelegate](/maps/documentation/places/ios-sdk/reference/objc/Protocols/GMSAutocompleteTableDataSourceDelegate)\n\n `\n ` \n Protocol used by [GMSAutocompleteTableDataSource](/maps/documentation/places/ios-sdk/reference/objc/Classes/GMSAutocompleteTableDataSource), to communicate the user's interaction with the\n data source to the application. \n\n #### Declaration\n\n Swift \n\n protocol GMSAutocompleteTableDataSourceDelegate : NSObjectProtocol\n\n Objective-C \n\n @protocol GMSAutocompleteTableDataSourceDelegate \u003cNSObject\u003e\n\n- `\n ``\n ``\n `\n\n ### [GMSAutocompleteViewControllerDelegate](/maps/documentation/places/ios-sdk/reference/objc/Protocols/GMSAutocompleteViewControllerDelegate)\n\n `\n ` \n Protocol used by [GMSAutocompleteViewController](/maps/documentation/places/ios-sdk/reference/objc/Classes/GMSAutocompleteViewController), to communicate the user's interaction\n with the controller to the application. \n\n #### Declaration\n\n Swift \n\n protocol GMSAutocompleteViewControllerDelegate : NSObjectProtocol\n\n Objective-C \n\n @protocol GMSAutocompleteViewControllerDelegate \u003cNSObject\u003e\n\n[Protocols\n---------](#/Protocols)\n\n- `\n ``\n ``\n `\n\n ### [GMSPlaceLocationBias](/maps/documentation/places/ios-sdk/reference/objc/Protocols/GMSPlaceLocationBias)\n\n `\n ` \n Protocol for specifying that the location can be used as search bias. \n\n #### Declaration\n\n Swift \n\n protocol GMSPlaceLocationBias : NSCopying, NSObjectProtocol\n\n Objective-C \n\n @protocol GMSPlaceLocationBias \u003cNSObject, NSCopying\u003e\n\n- `\n ``\n ``\n `\n\n ### [GMSPlaceLocationRestriction](/maps/documentation/places/ios-sdk/reference/objc/Protocols/GMSPlaceLocationRestriction)\n\n `\n ` \n Protocol for specifying that the location can be used as search restriction. \n\n #### Declaration\n\n Swift \n\n protocol GMSPlaceLocationRestriction : NSCopying, NSObjectProtocol\n\n Objective-C \n\n @protocol GMSPlaceLocationRestriction \u003cNSObject, NSCopying\u003e\n\n- `\n ``\n ``\n `\n\n ### [GMSPlacesAppCheckTokenProvider](/maps/documentation/places/ios-sdk/reference/objc/Protocols/GMSPlacesAppCheckTokenProvider)\n\n `\n ` \n Protocol for providing App Check tokens for Places SDK. \n\n #### Declaration\n\n Swift \n\n protocol GMSPlacesAppCheckTokenProvider : NSObjectProtocol\n\n Objective-C \n\n @protocol GMSPlacesAppCheckTokenProvider \u003cNSObject\u003e"]]