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

Agregado de sitios

Puedes usar Google Places API for iOS para agregar un sitio a la base de datos de sitios de Google. El sitio agregado recientemente estará disponible para tu aplicación después de un período breve y se agrega a una cola de moderación para su posible adición a la base de datos de sitios de Google y a Google Maps.

Para aumentar las probabilidades de que el sitio apruebe el proceso de moderación y se agregue a la base de datos de Google Places, la solicitud de agregado debe incluir la mayor cantidad de información posible. En particular, es importante incluir la dirección, el número telefónico y el sitio web.

  1. Agrega un sitio
  2. Maneja múltiples id. de sitio y ámbitos del id. de sitio

Agrega un sitio

Crea un elemento GMSUserAddedPlace y luego pásalo a GMSPlacesClient addPlace:callback:.

Cuando crees GMSUserAddedPlace, incluye la siguiente información:

  • Obligatorio: El valor textual completo de name para el negocio, el punto de interés u otro sitio. 255 caracteres como máximo.
  • Obligatorio: El valor address del sitio en lenguaje natural. Si un sitio posee una dirección con formato correcto y en lenguaje natural, es más probable que apruebe el proceso de moderación para su posterior inclusión en la base de datos de Google Places.
  • Obligatorio: Un objeto coordinate (CLLocationCoordinate2D) que especifique la ubicación del sitio.
  • Opcional: El valor phoneNumber del sitio. Este es el número telefónico en formato internacional. El formato internacional incluye el código de país y está precedido por un signo más (+). Por ejemplo, el número de teléfono internacional de la oficina de Google en Mountain View, Estados Unidos, es +1 650-253-0000. Si un sitio posee un número de teléfono con formato correcto, tendrá más probabilidades de aprobar el proceso de moderación para su posterior inclusión en la base de datos de Google Places. Nota: Debes proporcionar el valor phoneNumber, website o ambos.
  • Obligatorio: Una lista de tipos de sitios que caracterizan este sitio. Solo los tipos de la tabla 1 son válidos.
  • Opcional: Un identificador URI para website que incluya la dirección del sitio web autorizado para esta ubicación, como la página de inicio de una empresa. Si un sitio posee una dirección del sitio web con formato correcto, es más probable que apruebe el proceso de moderación para su posterior inclusión en la base de datos de Google Places. Nota: Debes proporcionar el valor phoneNumber, website o ambos.

También debes incluir un método callback para manejar los resultados. La API invoca el método callback especificado y pasa el objeto GMSPlace resultante para el sitio recién creado.

En el siguiente ejemplo de código se agrega un sitio llamado “Google Shoes!” en Pyrmont, Australia.

Swift

let userAddedPlace = GMSUserAddedPlace()
userAddedPlace.name = "Google Shoes!"
userAddedPlace.address = "48 Pirrama Road, Pyrmont, NSW 2009, Australia"
userAddedPlace.coordinate = CLLocationCoordinate2DMake(-33.8669710, 151.1958750)
userAddedPlace.phoneNumber = "(02) 9374 4000"
userAddedPlace.website = "http://www.google.com.au/"
userAddedPlace.types = ["shoe_store"]
placesClient.add(userAddedPlace, callback: { (place, error) -> Void in
  if let error = error {
    print("Add Place error: \(error.localizedDescription)")
    return
  }

  if let place = place {
    print("Added place with placeID \(place.placeID)")
    print("Added Place name \(place.name)")
    print("Added Place address \(place.formattedAddress)")
  }
})

Objective-C

GMSUserAddedPlace *userAddedPlace = [[GMSUserAddedPlace alloc] init];
userAddedPlace.name = @"Google Shoes!";
userAddedPlace.address = @"48 Pirrama Road, Pyrmont, NSW 2009, Australia";
userAddedPlace.coordinate = CLLocationCoordinate2DMake(-33.8669710, 151.1958750);
userAddedPlace.phoneNumber = @"(02) 9374 4000";
userAddedPlace.website = @"http://www.google.com.au/";
userAddedPlace.types = @[@"shoe_store"];

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

  NSLog(@"Added place with placeID %@", place.placeID);
  NSLog(@"Added Place name %@", place.name);
  NSLog(@"Added Place address %@", place.formattedAddress);
}];

El objeto GMSPlace resultante tiene un id. de sitio único, que tu aplicación puede usar a partir de ese momento para recuperar los detalles del sitio. Los sitios agregados también están disponibles después de un período breve en los resultados de las solicitudes de obtención del sitio actual iniciadas por tu app y en un seleccionador de sitios que esta muestra. El ámbito estará determinado por el ID de proyecto usado para generar tu clave de API.

Los sitios agregados recientemente ingresan a una cola de moderación a fin de considerar su incorporación a la base de datos de Google Places. Los sitios que el proceso de moderación no acepte se podrán seguir recuperando mediante el id. de sitio en la aplicación que los envió, pero ya no aparecerán en los resultados de las solicitudes de obtención del sitio actual, el seleccionador de la API ni en ningún otro método de la API. Los sitios que pasen la moderación estarán visibles para todas las aplicaciones y en Google Maps.

Maneja múltiples id. de sitio y ámbitos del id. de sitio

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.

Cuando agregas un sitio, recibes un id. de sitio para el nuevo sitio de inmediato. Este id. de sitio está definido solamente para el ámbito de tu aplicación. Luego, el sitio ingresa a una cola de moderación y espera la aprobación para ser agregado a la base de datos de Google Places. Si se aprueba, el sitio recibe un nuevo id. de sitio, que estará disponible para todas las aplicaciones y en Google Maps.

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...