Puedes usar el servicio Places y la la API de Geocoding con el SDK de Maps para Android para buscar regiones obtener más información sobre los lugares. El servicio Places y la API de Geocoding son alternativas eficaces y estables para obtener los IDs de lugar. Si ya usas IDs de lugar, puedes reutilizarlos con 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.
- Clase Geocoder pueden geocodificar datos y realizar geocódigos inversos de forma dinámica a partir de la entrada del usuario.
- La API de Geocoding te permite geocodificar direcciones conocidas y estáticas.
Cómo usar el servicio 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 la
Text Search (nueva) para solicitar IDs de lugar solo genera
sin 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 Place Autocomplete,
solo devolver regiones, usar
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 buscar IDs de lugar. El siguiente ejemplo de Geocoding la función de servicio devuelve los id. de sitio de todos los componentes de la dirección en la coordenadas de latitud y longitud especificadas:
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&key=YOUR_API_KEY
Cómo usar la geocodificación inversa con el filtrado de componentes para obtener el componente de la dirección para 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