Das Places SDK for iOS unterstützt die vorhandene Funktion Place Autocomplete. Wenn du mit der bestehenden Place Autocomplete-Funktion vertraut bist, werden in der neuen Version von Place Autocomplete folgende Änderungen vorgenommen:
Verwendet ein neues Preismodell. Preisinformationen für alle APIs finden Sie unter Places SDK for iOS (neu) – Preise.
Um eine Anfrage zu stellen, rufen Sie die neue Methode
GMSPlacesClient fetchAutocompleteSuggestionsFromRequest:
auf.Übergeben Sie die Anfrage an die Anfrage:
Eine Instanz der neuen Klasse
GMSAutocompleteRequest
, die alle Anfrageparameter definiert, z. B. die Abfrage und das Sitzungstoken.Ein Callback vom Typ
GMSAutocompleteSuggestionsCallback
zur Verarbeitung der Antwort.
Mit der Klasse
GMSAutocompleteFilter
können Sie jetzt:- Legen Sie den Regionscode fest, der für die Formatierung der Ergebnisse verwendet wird.
- Legen Sie den Vorhersageversatz fest, einen nullbasierten Unicode-Zeichen-Offset der Abfrage.
Die Antwort wird von der neuen 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 automatische Vervollständigung (neu) und Sitzungen.
Beispielanfrage
Mit „Place Autocomplete (New)“ stellen Sie eine Anfrage und übergeben alle Parameter in der Instanz GMSAutocompleteRequest
:
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.
}
}
}];