Cómo usar el servicio Places y la API de Geocoding con un diseño basado en datos aplicable a límites

Selecciona la plataforma: Android iOS JavaScript

Puedes usar el servicio de Places y la API de Geocoding con el SDK de Maps para Android para buscar regiones y obtener más información sobre lugares. El servicio de Places y la API de Geocoding son alternativas eficaces y estables para obtener IDs de lugar. Si ya usas IDs de lugar, puedes reutilizarlos con un diseño basado en datos aplicable a límites.

Agrega el servicio Places y Geocoding a tu SDK de Maps para las apps para Android de las siguientes maneras:

  • SDK de Places para Android es una biblioteca de Android que contiene métodos para devolver información sobre lugares.
  • La API de Places muestra información sobre lugares por medio de solicitudes HTTP.
  • La clase Geocoder puede geocodificar datos y hacer una geocodificación inversa de forma dinámica a partir de la entrada del usuario.
  • La API de Geocoding te permite geocodificar direcciones conocidas y estáticas.

Usa el servicio de Places

Cómo usar Text Search (nueva) para encontrar un ID de lugar

Puedes usar Text Search (nuevo). La API de REST en la API de Places para obtener un ID de lugar que incluya la región especificando places.id en la máscara de campo. El uso de Text Search (nueva) para solicitar únicamente IDs de lugar no genera ningún cargo. Obtén más información.

Por ejemplo, para obtener el ID de lugar de Trinidad, California, puedes hacer lo siguiente: Llamada a la API:

curl -X POST -d '{
  "textQuery" : "Trinidad, CA"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.id' \
'https://places.googleapis.com/v1/places:searchText'

Cómo usar Place Autocomplete para encontrar regiones

Place Autocomplete en el SDK de Places para Android proporciona una manera conveniente de permitir tus usuarios buscan regiones. Para configurar el servicio de Place Autocomplete para que solo muestre regiones, usa AutocompleteSupportFragment.setTypesFilter(List) para establecer el filtro de tipo en PlaceTypes.REGIONS.

Cómo obtener detalles del lugar de una región

La página de Place Details servicio en el SDK de Places para Android muestra que los datos de una región se pueden bastante útil. Por ejemplo, puedes hacer lo siguiente:

  • Buscar IDs de lugar de límite según los nombres de lugares
  • Obtener el viewport para aplicar zoom a un límite
  • Obtener el tipo de función del límite (por ejemplo, locality)
  • Obtener la dirección con formato, que se resuelve como "Nombre del lugar, estado, país" en la región de Estados Unidos (por ejemplo, “Ottumwa, IA, EE.UU.”).
  • Obtener otros datos útiles, como fotos

Cómo usar la API de Geocoding

La API de Geocoding te permite convertir una dirección en coordenadas de latitud y longitud y un ID de lugar, o coordenadas de latitud y longitud o un ID de lugar en una dirección. Los siguientes usos son compatibles con el diseño basado en datos aplicable a límites:

  • Usa Geocoding para obtener el viewport de una región.
  • Aplica el filtrado de componentes a tu llamada a Geocoding para obtener los IDs de lugar de las áreas administrativas 1-4, la localidad o el código postal.
  • Cómo usar la geocodificación inversa para encontrar IDs de lugar por latitud y longitud coordenadas o incluso mostrar los IDs de lugar de todos los componentes de una ubicación.

En el siguiente ejemplo, se usa una dirección (con escape de URL) para realizar una solicitud a la API de Geocoding:

https://maps.googleapis.com/maps/api/geocode/json?address=1600%20Amphitheatre%20Pkwy%20Mountain%20View%20CA&key=YOUR_API_KEY

Puedes usar la geocodificación inversa para encontrar los IDs de lugar. En el siguiente ejemplo, la función del servicio de Geocoding muestra los IDs de lugar de todos los componentes de dirección en las coordenadas de latitud y longitud especificadas:

https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&key=YOUR_API_KEY

Usa la geocodificación inversa con el filtrado de componentes para obtener el componente de dirección de uno o más de los siguientes tipos en la ubicación especificada:

  • administrativeArea
  • country
  • locality
  • postalCode

En la siguiente función de ejemplo, se muestra cómo se usa el servicio de Geocoding y se agregan restricciones de componentes con geocodificación inversa para obtener todos los componentes de dirección de la ubicación especificada solo para el tipo locality:

https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&result_type=locality&key=YOUR_API_KEY