Eso es todo.

Para comenzar a desarrollar, consulta nuestra documentación para desarrolladores.

Activar la Google Places API for iOS

Para que puedas comenzar, te proporcionaremos orientación en la consola para desarrolladores de Google a fin de que hagas primero algunas acciones:

  1. Crear o seleccionar un proyecto
  2. Activar la Google Places API for iOS
  3. Crear claves correspondientes
Continuar

Detalles e id. de sitio

Google Places API for iOS le proporciona a tu aplicación gran cantidad de información sobre los sitios, incluido el nombre y la dirección del sitio, la ubicación geográfica especificada como coordenadas de latitud y longitud, el tipo de sitio (como un club nocturno, una tienda de mascotas, un museo), entre otros. Para acceder a esta información de un sitio específico, puedes usar el id. de sitio, un identificador estable que identifica un sitio de forma exclusiva.

Detalles del sitio

La clase GMSPlace proporciona información sobre un sitio específico. Puedes obtener un objeto GMSPlace de las siguientes maneras:

La clase GMSPlace proporciona la siguiente información.

  • name: el nombre del sitio.
  • placeID: el identificador textual del sitio. Obtén más información sobre los id. de sitio en el resto de esta página.
  • coordinate: la ubicación geográfica del sitio, especificada en coordenadas de latitud y longitud.
  • openNowStatus: indica si el sitio está abierto en el momento en que se realiza la solicitud de información sobre este.
  • phoneNumber: contiene el número de teléfono del sitio en formato internacional.
  • formattedAddress: la dirección del sitio, en formato de lenguaje natural.
  • getRating: una calificación agregada del sitio, que se devuelve como un flotante con valores que varían de 1,0 a 5,0, según las reseñas agregadas del usuario.
  • priceLevel: el nivel de precio de este sitio, devuelto como valor entero que varía de 0 (el más económico) a 4 (el más costoso).
  • types: una lista de tipos de sitios que caracterizan este sitio. Consulta la documentación para conocer los tipos admitidos.
  • website: el URI del sitio web del sitio, en caso de ser conocido. Este es el sitio web que mantienen el negocio u otra entidad relacionada con el sitio.
  • attributions: un objeto NSAttributedString en el que se encuentran las atribuciones que debes mostrar al usuario si en tu aplicación se usan detalles del sitio recuperados de la Google Places API for iOS. Para obtener información detallada sobre la recuperación y visualización de atribuciones, consulta la guía de atribuciones.
  • addressComponents: matriz de objetos GMSAddressComponent que representan componentes de la dirección para un sitio. Esos componentes se proporcionan para los fines de extracción de información estructurada sobre la dirección de un sitio; por ejemplo, la búsqueda de la ciudad en la que se encuentra un sitio. No uses estos componentes para dar formato a las direcciones. En su lugar, usa la propiedad formattedAddress, que proporciona una dirección con formato localizada.

Obtener un sitio por id.

Un id. de sitio es un identificador textual que identifica de forma exclusiva un sitio. En la Google Places API for iOS, puedes recuperar el id. de un sitio desde un objeto GMSPlace. Puedes almacenar el id. de sitio y usarlo para recuperar el objeto GMSPlace nuevamente más tarde.

Para obtener un sitio por id., llama a GMSPlacesClient lookUpPlaceID:callback:, el cual pasa in id. de sitio y un método callback.

La API invoca el método callback especificado y pasa un objeto GMSPlace. Si no se encuentra el sitio, el objeto de sitio es nil.

Swift

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

placesClient.lookUpPlaceID(placeID, callback: { (place, error) -> Void in
  if let error = error {
    print("lookup place id query error: \(error.localizedDescription)")
    return
  }

  guard let place = place else {
    print("No place details for \(placeID)")
    return
  }

  print("Place name \(place.name)")
  print("Place address \(place.formattedAddress)")
  print("Place placeID \(place.placeID)")
  print("Place attributions \(place.attributions)")
})

Objective-C

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

[_placesClient lookUpPlaceID:placeID callback:^(GMSPlace *place, NSError *error) {
  if (error != nil) {
    NSLog(@"Place Details error %@", [error localizedDescription]);
    return;
  }

  if (place != nil) {
    NSLog(@"Place name %@", place.name);
    NSLog(@"Place address %@", place.formattedAddress);
    NSLog(@"Place placeID %@", place.placeID);
    NSLog(@"Place attributions %@", place.attributions);
  } else {
    NSLog(@"No place details for %@", placeID);
  }
}];

Mostrar atribuciones en tu aplicación

Cuando en tu aplicación se muestra información obtenida de GMSPlacesClient lookUpPlaceID:callback:, también deben exhibirse atribuciones. Consulta la documentación sobre las atribuciones.

Más información sobre los id. de sitio

El id. de sitio usado en la Google Places API for iOS es el mismo identificador empleado en el Google Places API Web Service, la Google Places API for Android y otras API de Google.

Cada ID de sitio puede hacer referencia a un solo sitio, pero un sitio puede tener más de un ID de sitio. El caso más común para manejar varios ID de un sitio es aquel en el cual se agrega un sitio que, inicialmente, se encuentra dentro del ámbito de tu app y luego recibe un ámbito de la totalidad de Google.

Existen otras circunstancias que pueden hacer que un sitio reciba un nuevo ID de sitio. Esto, por ejemplo, puede suceder si un negocio se muda a otro lugar.

Cuando solicitas un sitio mediante la especificación de un id. de sitio, puedes estar seguro de que siempre recibirás el mismo sitio en la respuesta (si el sitio aún existe). Sin embargo, ten en cuenta que la respuesta puede incluir un id. de sitio diferente del que aparece en tu solicitud.

Para obtener más información, consulta la información general sobre id. de sitio.

Enviar comentarios sobre…