Das Places SDK for iOS unterstützt Place Autocomplete (Legacy). Wenn Sie mit Place Autocomplete (Legacy) vertraut sind, werden mit Place Autocomplete (New) die folgenden Änderungen vorgenommen:
Es wird ein neues Preismodell verwendet. Preisinformationen zu allen APIs finden Sie unter Preise für das Places SDK for iOS (New).
Um eine Anfrage zu senden, rufen Sie die neue
GMSPlacesClient fetchAutocompleteSuggestionsFromRequest:Methode auf.Übergeben Sie Folgendes an die Anfrage:
Eine Instanz der neuen
GMSAutocompleteRequestKlasse, die alle Anfrageparameter wie die Abfrage und das Sitzungstoken definiert.Einen Callback vom Typ
GMSAutocompleteSuggestionsCallbackzur Verarbeitung der Antwort.
Die Klasse
GMSAutocompleteFilterbietet Ihnen jetzt folgende Möglichkeiten:- Legen Sie den Ländercode fest, der zur Bestimmung der Formatierung der Ergebnisse verwendet wird.
- Legen Sie den Vorhersage-Offset fest, einen nullbasierten Unicode-Zeichen-Offset der Abfrage.
Die Antwort wird durch die neue
GMSAutocompleteSuggestionKlasse definiert. Diese Klasse enthält ein Array von Instanzen des neuen TypsGMSAutocompletePlaceSuggestion, die die Vorschläge darstellen.Die Sitzung wird jetzt mit einem Aufruf von entweder Place Details (New) oder Address Validation beendet. Weitere Informationen finden Sie unter Preise für Autocomplete (New) und Sitzungen.
Beispielanfrage
Mit Place Autocomplete (New) senden 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.
}
}
}];