Das Places SDK for iOS (Legacy) unterstützt Place Autocomplete (Legacy). Wenn Sie mit Place Autocomplete (Legacy) vertraut sind, werden mit Autocomplete (neu) die folgenden Änderungen vorgenommen:
Es wird ein neues Preismodell verwendet. Preisinformationen für alle APIs finden Sie unter Nutzung und Abrechnung.
Rufen Sie die neue Methode
GMSPlacesClient fetchAutocompleteSuggestionsFromRequest:auf, um eine Anfrage zu stellen.Weiterleitung an die Anfrage:
Eine Instanz der neuen Klasse
GMSAutocompleteRequest, die alle Anfrageparameter wie die Suchanfrage und das Sitzungstoken definiert.Ein Callback vom Typ
GMSAutocompleteSuggestionsCallback, um die Antwort zu verarbeiten.
Mit der Klasse
GMSAutocompleteFilterhaben Sie jetzt folgende Möglichkeiten:- Legen Sie den Regionscode fest, der zur Bestimmung der Formatierung der Ergebnisse verwendet wird.
- Legen Sie den Vorhersage-Offset fest, einen nullbasierten Unicode-Zeichen-Offset der Anfrage.
Die Antwort wird durch die neue Klasse
GMSAutocompleteSuggestiondefiniert. Diese Klasse enthält ein Array von Instanzen des neuen TypsGMSAutocompletePlaceSuggestion, die die Vorschläge darstellen.Die Sitzung endet jetzt mit einem Aufruf von Place Details (New) oder Address Validation. Weitere Informationen finden Sie unter Autocomplete (New) und Sitzungspreise.
Beispielanfrage
Bei Autocomplete (New) stellen Sie eine Anfrage und übergeben alle Parameter in der GMSAutocompleteRequest-Instanz:
Swift
let token = GMSAutocompleteSessionToken()
let northEastBounds = CLLocationCoordinate2DMake(37.38816277477739, -122.08813770258874)
let southWestBounds = CLLocationCoordinate2DMake(37.39580487866437, -122.07702325966572)
let filter = GMSAutocompleteFilter()
filter.types = [kGMSPlaceTypeRestaurant]
filter.locationBias = GMSPlaceRectangularLocationOption(northEastBounds, southWestBounds)
let request = GMSAutocompleteRequest(query:"Sicilian piz")
request.filter = filter
request.sessionToken = token
GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { results, error in
// Handle response
})
Objective-C
CLLocationCoordinate2D northEast = CLLocationCoordinate2DMake(37.38816277477739, -122.08813770258874);
CLLocationCoordinate2D southWest = CLLocationCoordinate2DMake(37.39580487866437, -122.07702325966572);
GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.types = @[ kGMSPlaceTypeRestaurant ];
filter.locationBias = GMSPlaceRectangularLocationOption(northEast, southWest);
GMSAutocompleteRequest *request = [[GMSAutocompleteRequest alloc] initWithQuery:@"Sicilian piz"];
request.sessionToken = token;
request.filter = filter;
[[GMSPlacesClient sharedClient] fetchAutocompleteSuggestionsFromRequest:request callback:^(NSArray<GMSAutocompleteSuggestion *> * results, NSError * error){
// Handle response
for (GMSAutocompleteSuggestion *suggestion in results) {
if (suggestion.placeSuggestion) {
// Show place suggestion data.
}
}
}];