Перенос в сведения о месте (новинка)

В Places SDK для iOS поддерживается функция «Подробная информация о месте» (устаревшая версия) . Если вы знакомы с Places SDK для iOS (устаревшая версия), то в Place Details (новая версия) внесены следующие изменения:

  • Используется новая модель ценообразования. Информацию о ценах на все API см. в разделе «Цены на SDK Places для iOS (новая версия)» .

  • Необходимо указать, какие поля вы хотите получить в ответе. Список возвращаемых полей по умолчанию отсутствует. Если вы его не укажете, методы вернут ошибку.

  • Для отправки запроса вызовите новый метод GMSPlacesClient fetchPlaceWithRequest: .

  • Передайте запрос:

    • Экземпляр нового класса GMSFetchPlaceRequest , определяющий все параметры запроса, такие как идентификатор места и токен сессии.

    • Функция обратного вызова типа GMSPlaceResultCallback для обработки ответа.

  • В ответе содержится экземпляр GMSPlace , включающий подробную информацию о месте. Значения в свойстве types экземпляра GMSPlace теперь определяются таблицами A и B.

  • Экземпляр GMSPlace полученный в ответ, содержит новое свойство reviews типа GMSPlaceReview . Когда ваше приложение отображает информацию, полученную из экземпляра GMSPlace , такую ​​как фотографии и отзывы, оно также должно отображать необходимые атрибуты.

    Для получения более подробной информации см. документацию по атрибуции .

  • Экземпляр GMSPlace отвечающий на запрос, содержит следующие функции-члены:

    • isOpen вычисляет, открыто ли заведение в заданное время.

    • isOpenAtDate вычисляет, открыто ли заведение в заданную дату.

    Эти функции доступны только при включении Places SDK для iOS . Они недоступны при включении Places SDK для iOS (новая версия) . Для получения дополнительной информации см. раздел «Выбор версии SDK» .

Пример запроса

В функции «Подробная информация о месте» (новая функция) вы отправляете запрос, передавая все параметры в экземпляре GMSFetchPlaceRequest . В этом примере также используется маска поля, поэтому ответ содержит только отображаемое имя и URL-адрес веб-сайта места:

Быстрый

// A hotel in Saigon with an attribution.
let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs"

// Specify the place data types to return.
let fields = [GMSPlaceProperty.name, GMSPlaceProperty.website].map {$0.rawValue}

// Create the GMSFetchPlaceRequest instance.
let fetchPlaceRequest = GMSFetchPlaceRequest(placeID: placeID, placeProperties: fields, sessionToken: nil)

client.fetchPlaceWithRequest(fetchPlaceRequest: fetchPlaceRequest, callback: {
  (place: GMSPlace?, error: Error?) in
  guard let place, error == nil else { return }
  print("Place found: \(String(describing: place.name))")
})

Objective-C

// A hotel in Saigon with an attribution.
NSString *placeID = @"ChIJV4k8_9UodTERU5KXbkYpSYs";

// Specify the place data types to return.
NSArray<NSString *> *fields = @[GMSPlacePropertyName, GMSPlacePropertyWebsite];

// Create the GMSFetchPlaceRequest instance.
GMSFetchPlaceRequest *fetchPlaceRequest = [[GMSFetchPlaceRequest alloc] initWithPlaceID:placeID placeProperties: fields sessionToken:nil];

[placesClient fetchPlaceWithRequest: fetchPlaceRequest callback: ^(GMSPlace *_Nullable place, NSError *_Nullable error) {
    if (error != nil) {
      NSLog(@"An error occurred %@", [error localizedDescription]);
      return;
    } else {
    NSLog(@"Place Found: %@", place.name);
    NSLog(@"The place URL: %@", place.website);
  }
}];