Eso es todo.

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

Activar la Google Places API for Android

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 Android
  3. Crear claves correspondientes
Continuar

Seleccionador de sitios

El widget de la IU del seleccionador de sitios

El seleccionador de sitios es un widget simple, integrado y flexible de la IU, que forma parte de Google Places API for Android.

Presentación del seleccionador de sitios

PlacePicker proporciona un diálogo de IU que muestran un mapa interactivo y una lista de sitios cercanos, incluidos los sitios que corresponden a direcciones geográficas y negocios locales. Los usuarios pueden elegir un sitio y, a continuación, tu aplicación puede recuperar los detalles del sitio seleccionado.

El seleccionador de sitios proporciona las siguientes ventajas en comparación con el desarrollo de tu propio widget de la IU:

  1. La experiencia del usuario es consistente con otras aplicaciones que usan el seleccionador de sitios, incluidas las aplicaciones de Google y de terceros. Esto significa que los usuarios de tu aplicación ya saben cómo interactuar con el seleccionador de sitios.
  2. El mapa está integrado al seleccionador de sitios.
  3. La accesibilidad también está integrada.
  4. Permite ahorrar tiempo de desarrollo.

El seleccionador de sitios ofrece la funcionalidad de autocompletado, que muestra predicciones de sitios según las entradas de búsqueda del usuario. Esta funcionalidad está presente en todas las integraciones del seleccionador de sitios, por lo cual no es necesario que hagas nada más para habilitar el autocompletado. Para obtener más información sobre el autocompletado, consulta Autocompletado de sitios.

Permisos

Si tu aplicación usa el seleccionador de sitios, debes solicitar el permiso ACCESS_FINE_LOCATION.

Nuevo modelo de permisos en Android 6.0 Marshmallow

Android 6.0 Marshmallow presenta un nuevo modelo para administrar permisos, que simplifica el proceso de instalación y actualización de apps para los usuarios. Suponiendo que usas la versión 8.1 o una posterior de Google Play Services, puedes configurar tu app de modo que esté lista para el SDK de Android 6.0 Marshmallow y use el nuevo modelo de permisos.

Si tu app admite el nuevo modelo de permisos, el usuario no necesita otorgar permisos cuando instala o actualiza la app. En lugar de ello, la app debe solicitar permisos cuando los necesite durante el tiempo de ejecución, y el sistema muestra al usuario un cuadro de diálogo en el que se solicita el permiso.

Para obtener más información, consulta la documentación para Android 6.0 Marshmallow y los cambios que debes realizar en tu app para el nuevo modelo de permisos.

Agregar un seleccionador de sitios

A continuación, se muestra un resumen de los pasos requeridos para lanzar el seleccionador de sitios:

  1. Usa PlacePicker.IntentBuilder() para construir un Intent.
  2. Si deseas cambiar el comportamiento predeterminado del seleccionador de sitios, puedes usar el generador para establecer los límites de latitud y longitud iniciales del mapa que muestrseleccionadorector de sitios. Realiza una llamada a setLatLngBounds() en el generador y pasa los valores de LatLngBounds para establecer los límites iniciales de latitud y longitud. Estos límites definen un área denominada “viewport”. De manera predeterminada, el viewport está centrado en la ubicación del dispositivo, con el zoom establecido al nivel de las cuadras de la ciudad.
  3. Realiza una llamada a startActivityForResult() y pásale la intención y el código de solicitud predefinido, de modo que puedas identificar la solicitud cuando se devuelva el resultado.

El siguiente fragmento de código inicia el seleccionador de sitios:

int PLACE_PICKER_REQUEST = 1;
PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();

startActivityForResult(builder.build(this), PLACE_PICKER_REQUEST);

Cuando el usuario selecciona un sitio, puedes recuperar el lugar si realizas una llamada a PlacePicker.getPlace(). Si el usuario no ha seleccionado un sitio, el método que se devolverá será nulo.

También puedes recuperar los límites más recientes del mapa si realizas una llamada a PlacePicker.getLatLngBounds().

El siguiente fragmento de código recupera el sitio que el usuario ha seleccionado:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  if (requestCode == PLACE_PICKER_REQUEST) {
    if (resultCode == RESULT_OK) {
        Place place = PlacePicker.getPlace(data, this);
        String toastMsg = String.format("Place: %s", place.getName());
        Toast.makeText(this, toastMsg, Toast.LENGTH_LONG).show();
    }
  }
}

Establecer colores personalizados con el tema material

Si estableces colores personalizados en tu aplicación mediante el tema material, el seleccionador de sitios hereda los atributos colorPrimary y colorPrimaryDark del tema. Esto resulta útil para mantener una marca uniforme entre tu aplicación y el seleccionador de sitios.

Mostrar atribuciones en tu aplicación

Cuando en tu aplicación se muestra información obtenida mediante el seleccionador de sitios, también deben exhibirse atribuciones. Consulta la documentación sobre las atribuciones.

Enviar comentarios sobre...