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

Sitio actual

Al usar la Google Places API for iOS, puedes descubrir el sitio en el que se ubica actualmente el dispositivo (es decir, la ubicación actualmente transmitida del dispositivo). Entre algunos ejemplos de sitios se incluyen negocios locales, puntos de interés y ubicaciones geográficas.

  1. Solicitar una autorización de ubicación
  2. Límites de uso
  3. Obtén la ubicación actual
  4. Mostrar atribuciones en tu aplicación

Solicitar una autorización de ubicación

Si en tu aplicación se usa GMSPlacesClient currentPlaceWithCallback:, debes solicitar permiso para usar servicios de ubicación. Agrega la clave NSLocationWhenInUseUsageDescription a tu archivo Info.plist, para definir la string mediante la cual se informa al usuario el motivo por el que necesitas servicios de ubicación. Por ejemplo:

<key>NSLocationWhenInUseUsageDescription</key>
<string>Show your location on the map</string>

Si deseas llamar a GMSPlacesClient currentPlaceWithCallback: cuando la aplicación se ejecute en segundo plano, sin activar un cuadro de diálogo de confirmación, sigue estos pasos antes de realizar la llamada:

  1. Agrega la clave NSLocationAlwaysUsageDescription a tu archivo Info.plist.
  2. Llama a requestAlwaysAuthorization en cualquier instancia de CLLocationManager antes de llamar al método.

Solicita autorización de CLLocationManager de la siguiente manera:

Swift

    locationManager.requestAlwaysAuthorization()
    

Objective-C

    [self.locationManager requestAlwaysAuthorization];
    

Límites de uso

El uso del método GMSPlacesClient currentPlaceWithCallback: está sujeto a los límites de consulta por niveles. Consulta la documentación sobre los límites de uso.

Obtén la ubicación actual

Para encontrar el negocio local u otro sitio en el cual se ubica actualmente el dispositivo, realiza una llamada a GMSPlacesClient currentPlaceWithCallback:. Incluye un método callback para manejar los resultados.

La API invoca el método callback especificado y pasa un conjunto de objetos GMSPlaceLikelihood.

Cada objeto GMSPlaceLikelihood representa un sitio. Para cada sitio, el resultado incluye una indicación de la probabilidad de que el sitio en cuestión sea el correcto. Cuanto más alto sea el valor, mayor será la probabilidad de que el sitio en cuestión sea la mejor coincidencia. El búfer puede estar vacío si no existe ningún sitio conocido que corresponda a la ubicación del dispositivo.

El siguiente ejemplo de código recupera la lista de sitios donde existe mayor probabilidad de que se encuentre el dispositivo, y registra el nombre, la probabilidad y otros datos para cada sitio.

Swift

placesClient.currentPlace(callback: { (placeLikelihoodList, error) -> Void in
  if let error = error {
    print("Pick Place error: \(error.localizedDescription)")
    return
  }

  if let placeLikelihoodList = placeLikelihoodList {
    for likelihood in placeLikelihoodList.likelihoods {
      let place = likelihood.place
      print("Current Place name \(place.name) at likelihood \(likelihood.likelihood)")
      print("Current Place address \(place.formattedAddress)")
      print("Current Place attributions \(place.attributions)")
      print("Current PlaceID \(place.placeID)")
    }
  }
})

Objective-C

  [_placesClient currentPlaceWithCallback:^(GMSPlaceLikelihoodList *likelihoodList, NSError *error) {
  if (error != nil) {
    NSLog(@"Current Place error %@", [error localizedDescription]);
    return;
  }

  for (GMSPlaceLikelihood *likelihood in likelihoodList.likelihoods) {
    GMSPlace* place = likelihood.place;
    NSLog(@"Current Place name %@ at likelihood %g", place.name, likelihood.likelihood);
    NSLog(@"Current Place address %@", place.formattedAddress);
    NSLog(@"Current Place attributions %@", place.attributions);
    NSLog(@"Current PlaceID %@", place.placeID);
  }

}];
  

Notas sobre los valores de la probabilidad:

  • La probabilidad proporciona una posibilidad relativa del sitio que representa la mejor coincidencia dentro de la lista de sitios devueltos para una solicitud individual. No puedes comparar las probabilidades entre solicitudes diferentes.
  • El valor de la probabilidad estará entre 0 y 1,0.
  • La suma de probabilidades en una matriz de objetos GMSPlaceLikelihood devuelta es siempre inferior o igual a 1,0. Ten en cuenta que la suma no necesariamente es 1,0.

Por ejemplo, para representar una probabilidad del 55% de que el sitio correcto sea el Sitio A y una probabilidad del 35% de que sea el Sitio B, el conjunto de probabilidades tiene dos miembros: El Sitio A con una probabilidad de 0,55 y el Sitio B con una probabilidad de 0,35.

Mostrar atribuciones en tu aplicación

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

Enviar comentarios sobre…