В этом документе перечислены требования, которые относятся ко всем приложениям, разработанным с помощью Places SDK для iOS, в том числе к сервису автозаполнения мест, который является частью этого API. Общую информацию для разработчиков Google Карт можно найти в Условиях использования платформы Google Карт.
Правила
В этом разделе описываются правила, относящиеся к Places SDK для iOS. В правилах содержатся практические рекомендации и требования по реализации, которые помогут вам правильно использовать Сервис в соответствии с ожиданиями платформы Google Карт.
Хранение, кеширование и скрейпинг данных
При использовании контента Google Карт в приложении соблюдайте требования к обработке данных, изложенные в разделе 3.2.3 Условий использования платформы Google Карт и Условий использования сервисов платформы Google Карт:
- Ограничения на кеширование и скрейпинг (раздел 3.2.3(a) и (b)). Кешировать или хранить контент Google Карт можно только в случаях, явно разрешенных Условиями использования сервисов платформы Google Карт. Не экспортируйте, не извлекайте и не собирайте Контент Google Карт для использования за пределами Сервисов. Например, запрещается предварительно извлекать, индексировать, хранить или распространять Контент Google Карт за пределами Сервисов; массово скачивать фрагменты карт, изображения Просмотра улиц, геокоды, маршруты, результаты матрицы расстояний, информацию о дорогах, местах, высоте над уровнем моря или часовых поясах; копировать и сохранять названия и адреса компаний или отзывы пользователей.
- Ограничения на производный контент (раздел 3.2.3(c)). Используйте контент Google Карт в своем приложении в соответствии с Условиями использования платформы Google Карт. Не создавайте контент на основе контента Google Карт. Например, не отслеживайте и не оцифровывайте объекты на спутниковых снимках, не создавайте 3D-модели или модели рельефа, не используйте значения широты и долготы Places в качестве входных данных для анализа точек в многоугольнике, не создавайте индекс местоположений на основе изображений Просмотра улиц и не преобразуйте текстовые данные о времени в пути в синтезированную речь.
Чтобы сократить время реакции и сумму к оплате, не кешируя данные с ограниченным доступом, используйте маски или списки полей, чтобы запрашивать только те поля, которые нужны для вашего пользовательского интерфейса. Храните идентификаторы, на которые не распространяются ограничения, например идентификатор места, чтобы получать актуальные данные, когда пользователь взаимодействует с местом.
Инженеры службы технической поддержки Google не дают юридических консультаций и не могут делать исключения из Условий использования платформы Google Карт. Проконсультируйтесь с юристом, чтобы определить, соответствует ли ваша реализация условиям, или обратитесь в отдел продаж, если для вашего варианта использования требуется специальная лицензия.
Исключения из ограничений на кеширование
Специальные условия использования платформы Google Карт допускают следующие исключения:
- Идентификаторы мест. Ограничения по кешированию не распространяются на уникальные идентификаторы мест.
Поэтому их можно хранить в течение неограниченного времени. Идентификаторы мест возвращаются в поле
idилиplace_idв ответах API. Подробнее о том, как сохранять и обновлять идентификаторы мест, а также управлять ими… - Географические координаты. Вы можете временно кешировать значения широты (
latitude) и долготы (longitude) на срок до 30 календарных дней подряд, после чего вы должны удалить кешированные координаты, если используете сервисы, для которых это исключение предусмотрено в Условиях использования отдельных сервисов платформы Google Карт:- Routes API, Route Optimization API, Directions API (устаревший) и Roads API
- Geocoding API, Geolocation API и Address Validation API
- Places API, Places UI Kit и Navigation SDK
- Сроки кеширования для отдельных сервисов. В Условиях использования платформы Google Карт для отдельных сервисов также определены сроки кеширования для отдельных полей и разрешенные цели для Address Validation API, Air Quality API, Pollen API, Solar API, Weather API и Places Aggregate API.
Страны и территории Европейской экономической зоны
Для клиентов с платежным адресом в Европейской экономической зоне (ЕЭЗ) действуют другие Условия использования этого продукта. Также могут отличаться доступные функции. Прежде чем начать работу с платформой Google Карт, ознакомьтесь со следующими условиями и информацией, относящимися к ЕЭЗ:
- Условия использования платформы Google Карт в ЕЭЗ
- Специальные условия использования платформы Google Карт в ЕЭЗ
- Часто задаваемые вопросы о ЕЭЗ
- Требования платформы Google Карт к безопасности дорожного движения
Если ваш платежный адрес находится за пределами ЕЭЗ, к вам применяются следующие условия использования:
Требования по указанию авторства Google Карт
В этом разделе приведены требования и рекомендации по указанию авторства при показе Google Карт и Контента в ваших приложениях.
Пример атрибуции
Ниже приведен пример атрибуции для Places UI Kit.
Как показывать атрибуцию Google Карт
При показе контента из API платформы Google Карт в приложении или на сайте необходимо соблюдать требования Google Карт к указанию авторства. Если Контент показывается на карте Google, где уже указан источник, дополнительно указывать его не нужно.
Добавлена атрибуция Google Карт
Если атрибуция Google Карт уже предоставляется платформой Google Карт в пользовательском интерфейсе, например в Places UI Kit:
- Не удаляйте информацию об авторстве, где бы она ни находилась. Не изменяйте и не скрывайте атрибуцию. Она должна быть хорошо видна на фоне.
- Всегда визуально отделяйте Контент платформы Google Карт от другого контента, используя такие элементы интерфейса, как рамка, цвет фона, тень или достаточное количество пробелов.
- При изменении визуальных элементов необходимо соблюдать все требования Google Карт к указанию авторства.
Логотип и текстовая атрибуция Google Карт
По возможности в качестве атрибуции следует использовать логотип Google Карт. Если места недостаточно, можно использовать текст Google Карты. Конечным пользователям всегда должно быть понятно, какой контент предоставлен Google Картами.
Атрибуция логотипа
Ниже приведены требования к использованию логотипа Google Карт в приложении или на сайте.Скачать логотипы Google Карт
Используйте официальные файлы логотипа Google Карт. Скачайте логотипы ниже и следуйте инструкциям в этом разделе.
Скачать объекты атрибуции Google КартПри использовании логотипа Google Карт следуйте приведенным ниже рекомендациям.
- Не изменяйте логотип.
- Сохраняйте соотношение сторон логотипа, чтобы избежать искажений.
- Используйте логотип с контуром на насыщенном фоне, например на карте или изображении.
- Используйте логотип без контура на простом фоне, например однотонном или с легким градиентом.
Требования к размеру логотипа
Придерживайтесь следующих требований к размеру логотипа Google Карт:- Минимальная высота логотипа: 16 dp.
- Максимальная высота логотипа: 19 dp.
- Минимальное свободное пространство вокруг логотипа: 10 dp слева, справа и сверху, 5 dp снизу.
Подробнее о dp рассказывается в статье Плотность пикселей на сайте Material Design.
Доступность логотипа
При использовании логотипа Google Карт соблюдайте следующие требования к специальным возможностям:- Поддерживайте доступный контраст между логотипом и фоном.
- Добавьте ярлык специальных возможностей с текстом Google Карты.
Текстовая атрибуция
Если размер интерфейса не позволяет использовать логотип Google Карт, вы можете написать Google Карты текстом. Придерживайтесь следующих рекомендаций:
- Не изменяйте текст Google Карты:
- Не меняйте регистр букв в названии Google Карты.
- Не переносите Google Карты на несколько строк.
- Не локализуйте Google Карты.
- Запретите браузерам переводить Google Карты с помощью HTML-атрибута
translate="no".
Оформляйте текст Google Карт, как описано в таблице ниже.
Требования к оформлению текста в Google Картах Ресурс Стиль Семейство шрифтов Roboto. Загрузка шрифта не обязательна. Резервное семейство шрифтов Любой шрифт без засечек, который уже используется в вашем продукте, или Sans-Serif, чтобы вызвать системный шрифт по умолчанию. Стиль шрифта Обычный Насыщенность шрифта 400 Цвет шрифта Белый, черный (#1F1F1F) или серый (#5E5E5E). Поддерживайте доступный контраст с фоном (4,5:1). Размер шрифта Минимальный размер шрифта: 12 sp.
Максимальный размер шрифта: 16 sp.
Подробнее о единицах измерения размера шрифта…Расстояние между символами Обычный
Пример CSS
Ниже приведен код CSS, с помощью которого можно отобразить логотип Google Карт на белом или светлом фоне с использованием подходящего шрифта и цвета.
@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap'); .GMP-attribution { font-family: Roboto, Sans-Serif; font-style: normal; font-weight: 400; font-size: 1rem; letter-spacing: normal; white-space: nowrap; color: #5e5e5e; }
Требования к визуальным элементам
Ниже приведены требования к визуальному оформлению атрибуции Google Карт.Размещайте атрибуцию в верхней или нижней части контента и в том же визуальном контейнере. Если атрибуция занимает одну строку, ее можно разместить справа или слева.
Визуально отделяйте контент платформы Google Карт от другого контента, используя элементы интерфейса, такие как рамка, цвет фона, тень или достаточное количество пустого пространства.
- Не вводите пользователей в заблуждение, выдавая контент, не относящийся к платформе Google Карт, за контент Google Карт.
- Убедитесь, что атрибуция всегда видна и легко читается. Не удаляйте, не скрывайте и не изменяйте его.
На рисунках ниже показаны примеры этих визуальных требований.
Внешними поставщиками данных.
Некоторые данные и изображения в картографических продуктах Google принадлежат сторонним поставщикам. Для некоторых продуктов, например Map Tiles API, мы можем предоставить вам требуемую атрибуцию стороннего поставщика данных. В этом случае в указании авторства, помимо Google Карт, должны присутствовать названия и других поставщиков данных, например "Картографические данные: Google Карты, Maxar Technologies". Если Google предоставляет сведения об авторстве третьих лиц, недостаточно включить в них только название или логотип Google Карт.
Другие требования по указанию авторства
Атрибуция сторонних поставщиков содержит контент и ссылки, которые вы должны показывать пользователю в том формате, в котором они предоставлены. Google рекомендует, чтобы ваше приложение показывало эту информацию под информацией о местах.
В атрибуции сторонних поставщиков, возвращаемой API, не указывается атрибуция Google. Вы должны добавить эти сведения самостоятельно, как описано в разделе Показ логотипа Google и сведений об авторстве.
Ниже приведены инструкции о том, как получать сведения об авторстве третьих сторон для одного или нескольких мест.
Как получить атрибуцию для одного места
При получении места по идентификатору вы можете получить сведения об авторстве для этого места из свойства attributions объекта GMSPlace.
attributions предоставляются в виде объекта NSAttributedString.
Как получать сведения об авторстве для набора мест
Если в вашем приложении демонстрируется информация, полученная с помощью запроса текущего местоположения устройства, в информации о местах также должно быть указано авторство третьей стороны. Вы можете получить сведения об авторстве для всех мест, полученных в запросе, из свойства attributions в GMSPlaceLikelihoodList.
attributions предоставляются в виде объекта NSAttributedString, к которому можно получить доступ и который можно отобразить так же, как и attributions для одного места, как описано выше.
Атрибуция результатов поиска
В Европе при использовании неизмененного ранжирования Google в поисковых продуктах должен быть пояснительный текст, описывающий основные факторы и их вес, определяющие ранжирование результатов поиска. Этот текст должен быть доступен не более чем в один клик. Пояснение:
Заголовок: Об этих результатах
Основной текст: Когда вы ищете организации или места рядом с конкретным адресом, Google Карты показывают местные результаты. Выбор результатов зависит от разных факторов, в основном от релевантности, расстояния и заметности.
Кнопка 1: Подробнее
Текст "Подробнее" должен ссылаться на статью Справочного центра.
Кнопка 2: ОК.
Как показывать сведения об авторах фотографий
Если в вашем приложении демонстрируются фотографии, для каждой из них должны быть указаны attributions и authorAttributions (при наличии таких сведений).
- Чтобы получить доступ к атрибуции, используйте
GMSPlacePhotoMetadata.attributions. Это свойство представляет собойNSAttributedString. Если сведения об авторстве отсутствуют, возвращается значениеnil. - Чтобы получить доступ к информации об авторах, используйте
GMSPlacePhotoMetadata.authorAttributions. Это свойство содержит массив объектовGMSPlaceAuthorAttribution.
Swift
GMSPlacesClient.sharedClient().lookUpPhotosForPlaceID(placeID) { (photos, error) -> Void in if let error = error { // TODO: handle the error. print("Error: \(error.description)") } else { // Get attribution for the first photo in the list. if let photo = photos?.results.first { let attributions = photo.attributions } } }
Objective-C
[[GMSPlacesClient sharedClient] lookUpPhotosForPlaceID:placeID callback:^(GMSPlacePhotoMetadataList *_Nullable photos, NSError *_Nullable error) { if (error) { // TODO: handle the error. NSLog(@"Error: %@", [error description]); } else { // Get attribution for the first photo in the list. if (photos.results.count > 0) { GMSPlacePhotoMetadata *photo = photos.results.firstObject; NSAttributedString *attributions = photo.attributions; } } }];
Как показывать отзывы
Объект GMSPlace может содержать до пяти отзывов, каждый из которых представлен объектом GMSPlaceReview. При желании вы можете показывать эти отзывы в своем приложении.
При показе отзывов, оставленных пользователями Google, рядом обязательно должно быть указано имя автора. Мы также рекомендуем добавлять фотографию пользователя и ссылку на его профиль, если в поле с указанием автора в объекте GMSPlaceReview есть эти данные. Ниже приведен пример отзыва на парк.

Google также рекомендует показывать конечным пользователям, как сортируются отзывы.
Чтобы посмотреть отзывы, выполните следующие действия:
Swift
// Define a Place ID. let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs" // Specify the place data types to return. let myProperties: [GMSPlaceProperty] = [.name, .website, .reviews] // Create the GMSFetchPlaceRequest object. let fetchPlaceRequest = GMSFetchPlaceRequest(placeID: placeID, placeProperties: myProperties) client.fetchPlaceWithRequest(fetchPlaceRequest: fetchPlaceRequest, callback: { (place: GMSPlace?, error: Error?) in if let error = error { print("An error occurred: \(error.localizedDescription)") return } if let place = place { let firstReview: GMSPlaceReview = place.reviews![0] // Use firstReview to access review text, authorAttribution, and other fields. } })
Objective-C
// Define a Place ID. NSString *placeID = @"ChIJV4k8_9UodTERU5KXbkYpSYs"; // Specify the place data types to return, including reviews. NSArray<GMSPlaceProperty *> *myProperties = @[GMSPlacePropertyName, GMSPlacePropertyWebsite,GMSPlacePropertyReviews]; GMSFetchPlaceRequest *fetchPlaceRequest = [[GMSFetchPlaceRequest alloc] initWithPlaceID:placeID placeProperties: myProperties]; [placesClient fetchPlaceWithRequest: fetchPlaceRequest, callback: ^(GMSPlace *_Nullable place, NSError *_Nullable error) { if (error) { // TODO: handle the error. NSLog(@"Error: %@", [error description]); } else { // Get first review. GMSPlaceReview *firstReview = [place reviews][0]; // Use firstReview to access review text, authorAttribution, and other fields. } }];
Показывать атрибуцию третьих сторон
Атрибуция сторонних поставщиков предоставляется в виде объектов NSAttributedString, содержащих контент и ссылки, которые вы должны сохранить и показать пользователю.
Рекомендуемый способ отображения атрибуции – с помощью UITextView, поскольку ссылки в атрибуции должны работать.
Чтобы ссылки работали, задайте делегат для UITextView и настройте метод shouldInteractWithURL вашего UITextViewDelegate так, чтобы он возвращал YES.
Swift
... self.attributionTextView.delegate = self ... // MARK: - UITextViewDelegate func textView(textView: UITextView, shouldInteractWithURL URL: NSURL, inRange characterRange: NSRange) -> Bool { // Make links clickable. return true }
Objective-C
... self.attributionTextView.delegate = self; ... #pragma mark - UITextViewDelegate - (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)url inRange:(NSRange)characterRange { // Make links clickable. return YES; }
Пример указания авторства третьей стороны
Указание авторства третьей стороны обычно имеет вид текста со ссылкой. Пример:
Предложения от Example Company
В примере выше фрагмент текста Example Company охвачен атрибутом NSLink.
Автозаполнение адресов конечных пользователей
Если конечный пользователь вводит почтовый адрес в Приложении клиента с помощью функции автозаполнения, и этот адрес был бы полностью и точно указан конечным пользователем без автозаполнения, то на выбранный конечным пользователем адрес не распространяются ограничения на контент Google Карт, указанные в Соглашении об использовании платформы Google Карт. Это исключение относится только к почтовому адресу, выбранному конечным пользователем, и только к конкретной транзакции этого пользователя. Оно не распространяется на список предлагаемых адресов, предоставляемый функцией автозаполнения, или на другой контент Google Карт. Это исключение не распространяется на функции поиска объектов инфраструктуры и адресов, предлагаемые другими сервисами платформы Google Карт.

На предыдущем изображении список адресов слева по-прежнему подпадает под ограничения на контент Google Карт. После того как конечный пользователь выберет адрес, на этот адрес не будут распространяться ограничения, действующие в отношении Контента Google Карт, исключительно для целей соответствующей транзакции этого конечного пользователя.