Das Places SDK for iOS (Legacy) unterstützt Place Autocomplete (Legacy). Wenn Sie mit Place Autocomplete (Legacy) vertraut sind, beachten Sie, dass bei Autocomplete (New) die folgenden Änderungen vorgenommen wurden:
Verwendet ein neues Preismodell. Preisinformationen für alle APIs finden Sie unter Nutzung und Abrechnung.
Rufen Sie die neue Methode
GMSPlacesClient fetchAutocompleteSuggestionsFromRequest:auf, um eine Anfrage zu stellen.Übergeben Sie der Anfrage Folgendes:
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
GMSAutocompleteFilterkönnen Sie jetzt Folgendes tun:- Legen Sie den Regionscode fest, der zur Bestimmung der Formatierung der Ergebnisse verwendet wird.
- Legen Sie den Vervollständigungs-Offset fest, einen nullbasierten Unicode-Zeichen-Offset der Abfrage.
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 wird jetzt mit einem Aufruf von Place Details (New) oder Address Validation beendet. 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.
}
}
}];