En este documento, se enumeran los requisitos específicos que deben cumplir todas las aplicaciones desarrolladas con el SDK de Places para iOS, incluido el servicio Place Autocomplete, que forma parte de esa API. Puedes encontrar más información general para los desarrolladores de Google Maps en las Condiciones del Servicio de Google Maps Platform.
Políticas
En esta sección, se describen las políticas relevantes para el SDK de Places para iOS. Las políticas proporcionan requisitos y lineamientos de implementación prácticos para ayudarte a usar el Servicio de forma correcta y de acuerdo con las expectativas de Google Maps Platform.
Almacenamiento, almacenamiento en caché y extracción de datos
Cuando uses contenido de Google Maps en tu aplicación, sigue los requisitos de manejo de datos que se indican en el artículo 3.2.3 de las Condiciones del Servicio de Google Maps Platform y en las Condiciones Específicas del Servicio de Google Maps Platform:
- Restricciones de almacenamiento en caché y extracción de datos (artículo 3.2.3(a) y (b)): Almacena en caché o guarda contenido de Google Maps solo según lo permitido expresamente en las Condiciones específicas del servicio de Google Maps Platform. No exportes ni extraigas el Contenido de Google Maps ni realices ningún tipo de prácticas de scraping sobre ese contenido para su uso fuera de los Servicios. Por ejemplo, no recuperes previamente, indexes, almacenes ni redistribuyas el Contenido de Google Maps fuera de los Servicios; no descargues de forma masiva mosaicos de mapas, imágenes de Street View, geocódigos, instrucciones sobre cómo llegar, resultados de matrices de distancia, información de rutas, información de lugares, valores de elevación ni detalles de zonas horarias; ni copies ni guardes nombres de empresas, direcciones ni opiniones de usuarios.
- Restricciones de contenido derivado (artículo 3.2.3(c)): Usa el contenido de Google Maps en tu aplicación según lo permitido por las Condiciones del Servicio de Google Maps Platform. No crees contenido basado en el Contenido de Google Maps. Por ejemplo, no rastrees ni digitalices atributos de imágenes satelitales, no crees modelos de terreno o en 3D, no uses valores de latitud y longitud de Places como entrada para el análisis de punto en polígono, no construyas un índice de ubicación a partir de imágenes de Street View ni conviertas tiempos de conducción basados en texto en voz sintetizada.
Para reducir la latencia y los costos facturados sin almacenar en caché los datos restringidos, usa máscaras de campo o listas de campos para solicitar solo los campos que necesita tu interfaz de usuario. Almacena identificadores exentos, como el ID de lugar, para recuperar detalles actualizados cuando un usuario interactúa con un lugar.
Los ingenieros de asistencia técnica de Google no pueden brindar asesoramiento legal ni otorgar excepciones a las Condiciones del Servicio de Google Maps Platform. Consulta a tu asesor legal para determinar si tu implementación cumple con las condiciones o comunícate con el equipo de Ventas si tu caso de uso requiere una licencia personalizada.
Excepciones a las restricciones de almacenamiento en caché
Las Condiciones Específicas del Servicio de Google Maps Platform otorgan las siguientes excepciones limitadas de almacenamiento en caché:
- IDs de lugar: El ID de lugar, que se usa para identificar un lugar de forma unívoca, está exento de las restricciones de almacenamiento en caché.
Por lo tanto, puedes almacenar valores del ID del lugar de manera indefinida. Los IDs de lugar se devuelven
en el campo
idoplace_idde las respuestas de la API. Consulta la guía sobre los IDs de lugar para saber cómo guardarlos, actualizarlos y administrarlos. - Coordenadas de latitud y longitud: Puedes almacenar en caché de forma temporal los valores de latitud (
latitude) y longitud (longitude) durante un máximo de 30 días corridos consecutivos, después de los cuales debes borrar las coordenadas almacenadas en caché, cuando uses servicios que otorguen esta excepción en las Condiciones Específicas del Servicio de Google Maps Platform:- API de Routes, API de Route Optimization, API de Directions (heredada) y API de Roads
- API de Geocoding, API de Geolocation y API de Address Validation
- API de Places, kit de IU de Places y SDK de Navigation
- Períodos de almacenamiento en caché específicos del servicio: En las Condiciones Específicas del Servicio de Google Maps Platform, también se definen los períodos de almacenamiento en caché específicos de los campos y los propósitos permitidos para la API de Address Validation, la API de Air Quality, la API de Pollen, la API de Solar, la API de Weather y la API de Places Aggregate.
Países y territorios del Espacio Económico Europeo
Este producto tiene Condiciones del Servicio diferentes para los clientes con una dirección de facturación en el Espacio Económico Europeo (EEE) y también puede tener funciones diferentes. Antes de compilar con Google Maps Platform, revisa las siguientes condiciones y la información específicas del EEE:
- Condiciones del Servicio de Google Maps Platform para el EEE
- Condiciones Específicas del Servicio de Google Maps Platform para el EEE
- Preguntas frecuentes sobre el EEE
- Requisitos de seguridad vial de Google Maps Platform
Si tu dirección de facturación no se encuentra en el EEE, se te aplicarán las siguientes condiciones del servicio:
- Condiciones del Servicio de Google Maps Platform
- Condiciones Específicas del Servicio de Google Maps Platform
Requisitos de atribución de Google Maps
En esta sección, se proporcionan los requisitos y lineamientos de atribución para mostrar Google Maps y el Contenido a través de tus aplicaciones.
Ejemplo de atribución
A continuación, se muestra un ejemplo de atribución para el kit de IU de Places.
Muestra la atribución de Google Maps
Debes seguir los requisitos de atribución de Google Maps cuando muestres contenido de las APIs de Google Maps Platform en tu app o sitio web. No necesitas agregar atribuciones adicionales si el Contenido se muestra en un mapa de Google Maps en el que la atribución ya es visible.
Se incluyó la atribución de Google Maps
Para la atribución de Google Maps que ya proporciona Google Maps Platform en la interfaz de usuario, como en el kit de IU de Places, haz lo siguiente:
- No quites la atribución incluida, independientemente de dónde se muestre. No alteres, ocultes ni oscurezcas la atribución, y asegúrate de que se vea claramente sobre el fondo.
- Distingue siempre visualmente el Contenido de Google Maps Platform de otro contenido con indicadores de la IU, como un borde, un color de fondo, una sombra o un espacio en blanco suficiente.
- Cuando realices modificaciones visuales, debes cumplir con todos los requisitos de atribución de Google Maps.
Logotipo de Google Maps y atribución de texto
Siempre que sea posible, la atribución debe tener la forma del logotipo de Google Maps. En los casos en que el espacio sea limitado, se puede usar el texto Google Maps. Los usuarios finales siempre deben tener claro qué contenido proporciona Google Maps.
Atribución del logotipo
Sigue estos requisitos para usar el logotipo de Google Maps en tu app o sitio web.Descarga los logotipos de Google Maps
Usa los archivos oficiales del logotipo de Google Maps. Descarga los logotipos que aparecen a continuación y sigue los lineamientos de esta sección.
Descarga los recursos de atribución de Google MapsCuando uses el logotipo de Google Maps, sigue estos lineamientos.
- No modifiques el logotipo de ninguna manera.
- Mantén la relación de aspecto del logotipo para evitar distorsiones.
- Usa el logotipo con contorno sobre un fondo cargado, como un mapa o una imagen.
- Usa el logotipo sin contorno sobre un fondo liso, como un color sólido o un degradado sutil.
Especificación del tamaño del logotipo
Sigue estas especificaciones de tamaño para el logotipo de Google Maps:- Altura mínima del logotipo: 16 dp
- Altura máxima del logotipo: 19 dp
- Espacio libre mínimo del logotipo: 10 dp a la izquierda, a la derecha y en la parte superior, y 5 dp en la parte inferior
Para obtener información sobre los dp, consulta Densidad de píxeles en el sitio web de Material Design.
Accesibilidad del logotipo
Sigue estos requisitos de accesibilidad para el logotipo de Google Maps:- Mantén un contraste accesible entre el logotipo y el fondo.
- Incluye una etiqueta de accesibilidad con el texto Google Maps.
Atribución de texto
Si el tamaño de tu interfaz no admite el uso del logotipo de Google Maps, puedes escribir Google Maps en texto. Por ello, sigue estos lineamientos:
- No modifiques el texto Google Maps de ninguna manera:
- No cambies el uso de mayúsculas de Google Maps.
- No ajustes Google Maps en varias líneas.
- No localices Google Maps a otro idioma.
- Evita que los navegadores traduzcan Google Maps con el atributo HTML
translate="no".
Asigna un estilo al texto de Google Maps como se describe en la siguiente tabla:
Requisitos de estilo de texto de Google Maps Propiedad Estilo Familia de fuentes Roboto. La carga de la fuente es opcional. Familia de fuentes de resguardo Cualquier fuente sans serif para el cuerpo que ya se use en tu producto o "Sans-Serif" para invocar la fuente predeterminada del sistema Estilo de fuente Normal Grosor de la fuente 400 Color de la fuente Blanco, negro (#1F1F1F) o gris (#5E5E5E). Mantén un contraste accesible (4.5:1) con el fondo. Tamaño de fuente Tamaño de fuente mínimo: 12 sp
Tamaño de fuente máximo: 16 sp
Para obtener información sobre sp, consulta Unidades de tamaño de fuente en el sitio web de Material Design.Espacio entre letras Normal
Ejemplo de CSS
El siguiente código CSS renderiza Google Maps con el estilo tipográfico y el color adecuados sobre un fondo blanco o claro.
@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; }
Requisitos visuales
Sigue estos requisitos para el tratamiento visual de la atribución de Google Maps.Coloca la atribución cerca de la parte superior o inferior del contenido, y dentro del mismo contenedor visual. En el caso de una sola línea de contenido, la atribución se puede colocar a la derecha o a la izquierda.
Distingue visualmente el Contenido de Google Maps Platform de otro contenido con indicadores de la IU, como un borde, un color de fondo, una sombra o un espacio en blanco suficiente.
- No tergiverses Google Maps atribuyéndole contenido que no sea de Google Maps Platform.
- Verifica que la atribución siempre sea visible y legible. Nunca lo quites, ocultes, oscurezcas ni modifiques.
En las siguientes imágenes, se muestran ejemplos de estos requisitos visuales.
proveedores externos de datos,
Algunos de los datos y las imágenes que se utilizan en nuestros productos de creación de mapas son de proveedores ajenos a Google. En el caso de algunos productos, como la API de Map Tiles, es posible que te proporcionemos la atribución requerida al proveedor de datos externo. Cuando lo hagamos, el texto de tu atribución deberá indicar el nombre "Google Maps" y los proveedores de datos correspondientes; por ejemplo, "Datos del mapa: Google y Maxar Technologies". Cuando Google proporciona atribución de terceros, incluir solo "Google Maps" o el logotipo de Google no es una atribución adecuada.
Otros requisitos de atribución
Las atribuciones a proveedores externos contienen contenido y vínculos que debes mostrar al usuario en el formato en el que se proporcionan. Google recomienda que tu app muestre esta información debajo de los detalles del lugar.
Las atribuciones de terceros que devuelve la API no incluyen la atribución de Google. Debes incluir esta atribución por tu cuenta, como se describe en Requisitos para mostrar el logotipo y las atribuciones de Google.
Sigue estas instrucciones para recuperar atribuciones de terceros para un solo lugar o una colección de lugares.
Cómo recuperar las atribuciones de un solo lugar
Cuando recuperas un lugar obteniendo un lugar por ID, puedes recuperar las atribuciones de ese lugar desde la propiedad attributions en GMSPlace.
Los attributions se proporcionan como un objeto NSAttributedString.
Cómo recuperar las atribuciones de una colección de lugares
Si tu app muestra información que se obtiene solicitando el lugar actual del dispositivo, debe mostrar las atribuciones de terceros que correspondan a los detalles del lugar. Puedes recuperar las atribuciones de todos los lugares que se recuperaron en la solicitud, desde la propiedad attributions en GMSPlaceLikelihoodList.
Los attributions se proporcionan como un objeto NSAttributedString, al que puedes acceder y mostrar de la misma manera que los attributions en un solo lugar, como se describió anteriormente.
Atribuciones de los resultados de la búsqueda
En Europa, cuando se usa la clasificación sin adulterar de Google, los productos de búsqueda deben tener un texto explicativo a no más de 1 clic de distancia que describa los factores principales y la ponderación de los factores principales que determinan la clasificación de los resultados de la búsqueda. Texto explicativo:
Encabezado: Acerca de estos resultados
Cuerpo: Cuando busques empresas o lugares cerca de una ubicación, Google Maps te mostrará resultados locales. Varios factores, principalmente la relevancia, la distancia y la importancia, se combinan para ayudarte a encontrar los mejores resultados para tu búsqueda.
Botón 1: Más información
El texto "Más información" debe vincular a un artículo del Centro de ayuda.
Botón 2: OK
Cómo mostrar las atribuciones de una foto
Si tu app muestra fotos, debes incluir los elementos attributions y authorAttributions de cada foto que los tenga.
- Para acceder a las atribuciones, usa
GMSPlacePhotoMetadata.attributions. Esta propiedad es unNSAttributedStringonilsi no hay atribuciones para mostrar. - Para acceder a las atribuciones de autor, usa
GMSPlacePhotoMetadata.authorAttributions. Esta propiedad contiene un array de objetosGMSPlaceAuthorAttribution.
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; } } }];
Cómo mostrar una opinión
Un objeto GMSPlace puede contener hasta cinco opiniones, cada una representada con un objeto GMSPlaceReview. Opcionalmente, puedes mostrar esas opiniones en tu aplicación.
Cuando muestras opiniones de los usuarios de Google, debes colocar el nombre del autor en una posición cercana. Te recomendamos incluir la foto del autor y también el vínculo a su perfil si están disponibles en su campo de atribución del objeto GMSPlaceReview. La siguiente imagen muestra un ejemplo
de una opinión sobre un parque:

Google también recomienda que muestres al usuario final cómo se ordenan las opiniones.
Para acceder a las opiniones, sigue estos pasos:
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. } }];
Muestra atribuciones de terceros
Las atribuciones a proveedores externos se proporcionan como objetos NSAttributedString que contienen contenido y vínculos que debes conservar y mostrar al usuario.
La forma recomendada de mostrar las atribuciones es con un UITextView, ya que los vínculos de las atribuciones deben funcionar.
Para asegurarte de que los vínculos funcionen, establece un delegado en UITextView y configura el método shouldInteractWithURL de tu UITextViewDelegate para que devuelva 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; }
Ejemplo de una atribución de terceros
Una atribución de terceros normalmente consta de texto y un vínculo. Por ejemplo:
Fichas de Example Company
En el ejemplo anterior, el rango de texto Example Company está cubierto por un atributo NSLink.
Autocompletado para direcciones de usuarios finales
Cuando un usuario final usa la funcionalidad de Autocompletar en tu Aplicación del Cliente para escribir una dirección, y esa dirección se habría proporcionado de forma completa y precisa por ese usuario final sin Autocompletar, la dirección seleccionada por el usuario final no está sujeta a las restricciones de contenido de Google Maps en tu Acuerdo de Google Maps Platform. Esta excepción se aplica solo a la dirección que selecciona el usuario final y únicamente para la transacción específica de ese usuario final. No se aplica a la lista de direcciones sugeridas que proporciona la función de Autocomplete ni a otro Contenido de Google Maps. Esta excepción no se aplica a ninguna funcionalidad de búsqueda de lugares de interés o direcciones que ofrezcan otros Servicios de Google Maps Platform.

En la imagen anterior, la lista de direcciones de la izquierda sigue sujeta a las restricciones del contenido de Google Maps. Una vez que el usuario final selecciona la dirección elegida, esa dirección no está sujeta a las restricciones del Contenido de Google Maps únicamente para el propósito de la transacción aplicable de ese usuario final.