Сведения о месте

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Выберите платформу: Android iOS JavaScript Web Service

Places SDK для iOS предоставляет вашему приложению подробную информацию о местах, включая название и адрес места, географическое положение, указанное в виде координат широты и долготы, тип места (например, ночной клуб, зоомагазин, музей) и многое другое. Чтобы получить доступ к этой информации для определенного места, вы можете использовать идентификатор места, стабильный идентификатор, который однозначно идентифицирует место.

Сведения о месте

Класс GMSPlace предоставляет информацию о конкретном месте. Вы можете получить объект GMSPlace следующими способами:

Разместить поля

Когда вы запрашиваете место, вы должны указать, какие типы данных о месте должны быть возвращены. Для этого передайте GMSPlaceField , указав возвращаемые типы данных. Это важное соображение, поскольку оно повлияет на стоимость каждого запроса. Поскольку результаты с данными о местах не могут быть пустыми, возвращаются только результаты о местах с данными (например, если в запрошенном месте нет фотографий, поле photos не будет в результатах). Вы можете указать одно или несколько следующих полей:

  • GMSPlaceFieldName
  • GMSPlaceFieldPlaceID
  • GMSPlaceFieldPlusCode
  • GMSPlaceFieldBusinessStatus
  • GMSPlaceFieldCoordinate
  • GMSPlaceFieldOpeningHours
  • GMSPlaceFieldPhoneNumber
  • GMSPlaceFieldFormattedAddress
  • GMSPlaceFieldRating
  • GMSPlaceFieldPriceLevel
  • GMSPlaceFieldTypes
  • GMSPlaceFieldWebsite
  • GMSPlaceFieldViewport
  • GMSPlaceFieldAddressComponents
  • GMSPlaceFieldPhotos
  • GMSPlaceFieldUserRatingsTotal
  • GMSPlaceFieldIconImageURL
  • GMSPlaceFieldIconBackgroundColor
  • GMSPlaceFieldUTCOffsetMinutes
  • GMSPlaceFieldAll

Подробнее о полях мест . Дополнительную информацию о том, как оплачиваются запросы данных Place, см. в разделе Использование и выставление счетов .

Класс GMSPlace может содержать следующие данные о месте:

  • name – название места.
  • placeID — текстовый идентификатор места. Подробнее об идентификаторах мест читайте в оставшейся части этой страницы.
  • coordinate — географическое положение места, указанное в виде координат широты и долготы.
  • businessStatus — рабочий статус места, если это бизнес. Он может содержать одно из следующих значений: GMSBusinessStatusOperational , GMSBusinessStatusClosedTemporarily , GMSBusinessStatusClosedPermanently , GMSBusinessStatusUnknown .
  • phoneNumber — номер телефона места в международном формате.
  • formattedAddress — удобочитаемый адрес этого местоположения.

    Часто этот адрес эквивалентен почтовому адресу. Обратите внимание, что в некоторых странах, например в Великобритании, распространение настоящих почтовых адресов запрещено из-за лицензионных ограничений.

    Отформатированный адрес логически состоит из одного или нескольких компонентов адреса . Например, адрес «111 8th Avenue, New York, NY» состоит из следующих компонентов: «111» (номер улицы), «8th Avenue» (маршрут), «New York» (город) и «NY "(штат США).

    Не анализируйте отформатированный адрес программно. Вместо этого следует использовать отдельные компоненты адреса, которые включаются в ответ API в дополнение к форматированному полю адреса.

  • rating — совокупный рейтинг места, возвращаемый в виде числа с плавающей запятой со значениями от 1,0 до 5,0 на основе сводных отзывов пользователей.
  • openingHours — часы работы места (представленные GMSOpeningHours ). Вызовите GMSOpeningHours.weekdayText , чтобы получить список локализованных строк ежедневных часов работы на неделю. Вызовите GMSOpeningHours.Periods , чтобы вернуть список GMSPeriod с более подробной информацией, которая эквивалентна данным, предоставленным weekdayText . Примечание. Если место всегда открыто, период времени представлен как воскресенье в полночь, а closeEvent имеет значение null.
  • plusCode — представление кода плюса местоположения места.
  • priceLevel — уровень цен для этого места, возвращаемый как целое число со значениями от 0 (самая дешевая) до 4 (самая дорогая).
  • types — список типов мест, которые характеризуют это место. Этот массив может содержать несколько значений или может быть пустым. Новые значения могут быть введены без предварительного уведомления. См. список поддерживаемых типов .
  • веб- website — URI веб-сайта места, если он известен. Это веб-сайт, поддерживаемый компанией или другой организацией, связанной с этим местом.
  • attributionsNSAttributedString , содержащий атрибуты, которые вы должны отобразить пользователю, если ваше приложение использует сведения о месте, полученные из Places SDK для iOS. Подробнее о получении и отображении атрибуции см. в руководстве по атрибуции.
  • addressComponents — массив объектов GMSAddressComponent , представляющих компоненты адреса места. Эти компоненты предназначены для извлечения структурированной информации об адресе места, например, для поиска города, в котором расположено место. Не используйте эти компоненты для форматирования адреса; вместо этого используйте свойство formattedAddress , которое предоставляет локализованный отформатированный адрес.

    Обратите внимание на следующие факты о массиве addressComponents :

    • Массив компонентов адреса может содержать больше компонентов, чем formattedAddress .
    • Массив не обязательно включает все политические объекты, содержащие адрес, за исключением включенных в formattedAddress .
    • Не гарантируется, что формат ответа останется неизменным между запросами. В частности, количество addressComponents варьируется в зависимости от запрошенного адреса и может меняться со временем для одного и того же адреса. Компонент может менять позицию в массиве. Тип компонента может меняться. Определенный компонент может отсутствовать в более позднем ответе.
  • userRatingsTotal — показывает, сколько отзывов составляет рейтинг места.
  • GMSPlaceFieldIconImageURL — URL-адрес значка, представляющего тип места (в формате PNG).
  • GMSPlaceFieldIconBackgroundColor — цвет фона для значка типа места.
  • UTCOffsetMinutes — смещение часового пояса места в минутах.

Класс GMSPlace содержит следующие функции-члены:

  • isOpen вычисляет, открыто ли место в заданное время, на основе openingHours и UTCOffsetMinutes , а также текущей даты и времени.
  • isOpenAtDate вычисляет, открыто ли место в указанную дату, на основе openingHours и UTCOffsetMinutes , а также текущей даты и времени.
  • При использовании этих функций для получения времени и/или дат открытия исходный fetchPlaceFromPlaceID: или findPlaceLikelihoodsFromUserLocationWithPlaceFields: должен указывать ОБА GMSPlaceFieldOpeningHours и GMSPlaceFieldUTCOffsetMinutes . Если какое-либо из этих полей отсутствует, результирующий объект GMSPlace не будет содержать время или дату открытия, и вызов вернет GMSPlaceOpenStatusUnknown . Чтобы обеспечить точные результаты, запросите поля GMSPlaceFieldBusinessStatus и GMSPlaceFieldUTCOffsetMinutes в исходном запросе места. Если не запрашивается, предполагается, что бизнес работает.

    Посмотрите это видео , чтобы узнать, как использовать isOpen со сведениями о месте.

Получить место по ID

Идентификатор места — это текстовый идентификатор, который однозначно идентифицирует место. В Places SDK для iOS вы можете получить идентификатор места из объекта GMSPlace . Вы можете сохранить идентификатор места и использовать его для повторного получения объекта GMSPlace позже.

Чтобы получить место по ID, вызовите GMSPlacesClient fetchPlaceFromPlaceID: , передав следующие параметры:

  • Строка, содержащая идентификатор места.
  • Один или несколько GMSPlaceField s, указывающих возвращаемые типы данных.
  • Маркер сеанса, если вызов выполняется для завершения запроса автозаполнения. В противном случае передать ноль.
  • GMSPlaceResultCallback для обработки результата.

API вызывает указанный метод обратного вызова, передавая объект GMSPlace . Если место не найдено, объект места равен нулю.

Быстрый

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

// Specify the place data types to return.
let fields: GMSPlaceField = GMSPlaceField(rawValue: UInt(GMSPlaceField.name.rawValue) |
  UInt(GMSPlaceField.placeID.rawValue))!

placesClient?.fetchPlace(fromPlaceID: placeId, placeFields: fields, sessionToken: nil, callback: {
  (place: GMSPlace?, error: Error?) in
  if let error = error {
    print("An error occurred: \(error.localizedDescription)")
    return
  }
  if let place = place {
    self.lblName?.text = place.name
    print("The selected place is: \(place.name)")
  }
})

Цель-C

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

// Specify the place data types to return.
GMSPlaceField fields = (GMSPlaceFieldName | GMSPlaceFieldPlaceID);

[_placesClient fetchPlaceFromPlaceID:placeId placeFields:fields sessionToken:nil callback:^(GMSPlace * _Nullable place, NSError * _Nullable error) {
  if (error != nil) {
    NSLog(@"An error occurred %@", [error localizedDescription]);
    return;
  }
  if (place != nil) {
    NSLog(@"The selected place is: %@", [place name]);
  }
}];

Отображение атрибутов в вашем приложении

Когда ваше приложение отображает информацию, полученную от GMSPlacesClient lookUpPlaceID:callback: , приложение также должно отображать атрибуции. См. документацию по атрибуциям .

Из наших Условий использования

Использовать только данные Google
с Google Картами

Если вы используете данные Google, используйте их только с картой Google. Вы можете отображать данные Google и данные других поставщиков на карте Google, просто не показывайте данные Google на карте, отличной от Google.

Учить больше

Подробнее об идентификаторах мест

Идентификатор места, используемый в Places SDK для iOS, совпадает с идентификатором, используемым в Places API, Places SDK для Android и других API Google .

Каждый идентификатор места может относиться только к одному месту, но одно место может иметь более одного идентификатора места.

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

Когда вы запрашиваете место, указывая идентификатор места, вы можете быть уверены, что всегда получите одно и то же место в ответе (если место все еще существует). Обратите внимание, однако, что ответ может содержать идентификатор места, отличный от того, который указан в вашем запросе.

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