В Places SDK для iOS поддерживается функция автозаполнения мест (устаревшая версия) . Если вы знакомы с функцией автозаполнения мест (устаревшая версия), то в новой версии автозаполнения мест внесены следующие изменения:
Используется новая модель ценообразования. Информацию о ценах на все API см. в разделе «Цены на SDK Places для iOS (новая версия)» .
Для отправки запроса вызовите новый метод
GMSPlacesClient fetchAutocompleteSuggestionsFromRequest:.Передайте запрос:
Экземпляр нового класса
GMSAutocompleteRequest, определяющий все параметры запроса, такие как запрос и токен сессии.Функция обратного вызова типа
GMSAutocompleteSuggestionsCallbackдля обработки ответа.
Класс
GMSAutocompleteFilterтеперь позволяет:- Укажите код региона, который будет использоваться для определения форматирования результатов.
- Установите смещение прогноза — смещение символа Unicode относительно запроса, начинающееся с нуля.
Ответ определяется новым классом
GMSAutocompleteSuggestion. Этот класс содержит массив экземпляров нового типаGMSAutocompletePlaceSuggestionпредставляющих предлагаемые варианты.Сессия завершается выбором одного из вариантов: «Информация о месте жительства» (новая функция) или «Проверка адреса» . Более подробную информацию см. в разделе «Автозаполнение» (новая функция) и «Стоимость сессии» .
Пример запроса
В функции автозаполнения мест (новая версия) вы отправляете запрос и передаете все параметры в экземпляр GMSAutocompleteRequest :
Быстрый
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.
}
}
}];