Das Places SDK for iOS unterstützt die vorhandene Place Autocomplete-Funktion. Wenn Sie mit dem bestehenden Place Autocomplete-Dienst vertraut sind, sind die folgenden Änderungen bei der neuen Version von Place Autocomplete zu beachten:
Es wird ein neues Preismodell verwendet. Preisinformationen zu allen APIs finden Sie unter Preise für das Places SDK for iOS (neu).
Rufen Sie zum Senden einer Anfrage die neue Methode
GMSPlacesClient fetchAutocompleteSuggestionsFromRequest:
auf.An die Anfrage weitergeben:
Eine Instanz der neuen Klasse
GMSAutocompleteRequest
, die alle Anfrageparameter definiert, z. B. die Abfrage und das Sitzungstoken.Ein Callback vom Typ
GMSAutocompleteSuggestionsCallback
, um die Antwort zu verarbeiten.
Mit der Klasse
GMSAutocompleteFilter
haben Sie jetzt folgende Möglichkeiten:- Legen Sie den Regionscode fest, der für die Formatierung der Ergebnisse verwendet wird.
- Legen Sie den Vorhersage-Offset fest, einen Unicode-Zeichen-Offset der Abfrage, der auf null basiert.
Die Antwort wird durch die neue Klasse
GMSAutocompleteSuggestion
definiert. 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 Preise für die automatische Vervollständigung (neu) und Preise für Sitzungen.
Beispielanfrage
Bei „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.
}
}
}];