GMSAutocompleteFetcher
@interface GMSAutocompleteFetcher : NSObject
GMSAutocompleteFetcher
is a wrapper around the lower-level autocomplete APIs that encapsulates
some of the complexity of requesting autocomplete predictions as the user is typing. Calling
sourceTextHasChanged will generally result in the provided delegate being called with
autocomplete predictions for the queried text, with the following provisos:
- The fetcher may not necessarily request predictions on every call of sourceTextHasChanged if several requests are made within a short amount of time.
- The delegate will only be called with prediction results if those predictions are for the text supplied in the most recent call to sourceTextHasChanged.
-
Initialize the fetcher.
Declaration
Swift
init(filter: GMSAutocompleteFilter?)
Objective-C
- (nonnull instancetype)initWithFilter:(nullable GMSAutocompleteFilter *)filter;
Parameters
filter
The filter to apply to the results. This parameter may be nil.
-
Delegate to be notified with autocomplete prediction results.
Declaration
Swift
weak var delegate: (any GMSAutocompleteFetcherDelegate)? { get set }
Objective-C
@property (nonatomic, weak, nullable) id<GMSAutocompleteFetcherDelegate> delegate;
-
Filter to apply to autocomplete suggestions (can be nil).
Declaration
Swift
var autocompleteFilter: GMSAutocompleteFilter? { get set }
Objective-C
@property (nonatomic, strong, nullable) GMSAutocompleteFilter *autocompleteFilter;
-
Provide a
GMSAutocompleteSessionToken
for tracking the specific autocomplete query flow.Declaration
Swift
func provide(_ sessionToken: GMSAutocompleteSessionToken?)
Objective-C
- (void)provideSessionToken: (nullable GMSAutocompleteSessionToken *)sessionToken;
-
Notify the fetcher that the source text to autocomplete has changed.
This method should only be called from the main thread. Calling this method from another thread will result in undefined behavior. Calls to
GMSAutocompleteFetcherDelegate
methods will also be called on the main thread.This method is non-blocking.
Declaration
Swift
func sourceTextHasChanged(_ text: String?)
Objective-C
- (void)sourceTextHasChanged:(nullable NSString *)text;
Parameters
text
The partial text to autocomplete.