Pakiet SDK Miejsc na iOS obsługuje autouzupełnianie miejsc (starsza wersja). Jeśli znasz usługę Autouzupełnianie miejsc (starsza wersja), Autouzupełnianie miejsc (nowa wersja) wprowadza te zmiany:
Korzysta z nowego modelu cenowego. Informacje o cenach wszystkich interfejsów API znajdziesz w artykule Ceny pakietu Places SDK na iOS (nowego).
Aby wysłać prośbę, wywołaj nową metodę
GMSPlacesClient fetchAutocompleteSuggestionsFromRequest:
.Przekaż do żądania:
Instancja nowej klasy
GMSAutocompleteRequest
, która definiuje wszystkie parametry żądania, takie jak zapytanie i token sesji.Wywołanie zwrotne typu
GMSAutocompleteSuggestionsCallback
do obsługi odpowiedzi.
Zajęcia
GMSAutocompleteFilter
umożliwiają teraz:- Ustaw kod regionu używany do określania formatowania wyników.
- Ustaw przesunięcie prognozy, czyli przesunięcie znaku Unicode od początku zapytania (liczone od zera).
Odpowiedź jest definiowana przez nową klasę
GMSAutocompleteSuggestion
. Ta klasa zawiera tablicę instancji nowego typuGMSAutocompletePlaceSuggestion
reprezentujących sugestie.Sesja kończy się wywołaniem funkcji Szczegóły miejsca (nowe) lub Weryfikacja adresu. Więcej informacji znajdziesz w artykule Autouzupełnianie (nowa wersja) i ceny sesji.
Przykładowe żądanie
W przypadku autouzupełniania miejsc (nowego) wysyłasz żądanie i przekazujesz wszystkie parametry w instancji 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.
}
}
}];