Geocodifica con mayor precisión

Desarrolladores del Espacio Económico Europeo (EEE)

Los métodos GeocodeAddress y SearchDestinations admiten un parámetro effort opcional que te permite controlar el equilibrio entre la latencia de respuesta y la exactitud de la resolución de direcciones.

Si bien la geocodificación estándar controla las direcciones postales con un formato correcto en una latencia de menos de un segundo, las entradas del mundo real suelen ser incompletas, informales o complejas (por ejemplo, "Flat 4B, Sunrise Apartments, opposite Central Mall, Andheri West, Mumbai" o "where the warriors play, sf"). Si configuras un nivel de effort más alto, puedes indicarle a la API de Geocoding que aplique un razonamiento y una desambiguación extendidos para resolver direcciones difíciles.

Niveles de esfuerzo

Especifica uno de los siguientes valores para el parámetro effort:

Nivel de esfuerzo Descripción Latencia típica Casos de uso recomendados
EFFORT_UNSPECIFIED Valor predeterminado Se comporta de la misma manera que el esfuerzo LOW. Menos de un segundo Geocodificación estándar predeterminada.
LOW Optimiza los tiempos de respuesta más rápidos. No realiza búsquedas extendidas ni desambiguaciones para direcciones difíciles. Menos de un segundo Búsqueda interactiva en tiempo real y Address Validation estándar de gran volumen.
MEDIUM Equilibra la velocidad y la exactitud. La mayoría de las solicitudes se devuelven con una latencia baja estándar. En el caso de direcciones ambiguas o difíciles, el servicio aplica un procesamiento adicional para mejorar la precisión, lo que puede tardar hasta unos segundos. Menos de un segundo para las direcciones estándar; hasta unos segundos (≤ 4 segundos) para las direcciones ambiguas Flujos de trabajo interactivos de los usuarios (como la confirmación de la dirección en la confirmación de la compra) en los que los usuarios pueden tolerar una breve pausa
HIGH Maximiza la precisión de la resolución de direcciones para direcciones incompletas, informales o complejas. Los tiempos de respuesta podrían ser significativamente más largos. Hasta 20 segundos para direcciones complejas Procesamiento en segundo plano, geocodificación por lotes, despacho de logística o perfeccionamiento asíncrono de direcciones después de la confirmación de la compra.

Ejemplos de solicitudes

Buscar destinos (SearchDestinations)

Incluye el campo effort en el cuerpo de la solicitud JSON de tu solicitud POST a https://geocode.googleapis.com/v4alpha/geocode/destinations. El parámetro effort afecta principalmente la resolución de addressQuery:

curl -X POST -d '{
  "addressQuery": {
    "addressQuery": "Flat 4B, Sunrise Apartments, opposite Central Mall, Andheri West, Mumbai"
  },
  "effort": "HIGH"
}' \
-H 'Content-Type: application/json' \
-H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4alpha/geocode/destinations

Geocodifica una dirección (GeocodeAddress)

Pasa el parámetro effort como un parámetro de consulta de URL en tu solicitud GET al extremo /v4alpha/:

curl -X GET -H 'Content-Type: application/json' \
-H "X-Goog-Api-Key: API_KEY" \
"https://geocode.googleapis.com/v4alpha/geocode/address/where+the+warriors+play,+sf?effort=MEDIUM"

Mitiga el impacto de la latencia

Cuando usas el esfuerzo MEDIUM o HIGH en tu aplicación, enviar una solicitud de un solo paso es la integración más sencilla, pero las solicitudes en estos modos pueden generar una latencia más alta, lo que puede retrasar los flujos de trabajo síncronos, para el usuario y sensibles a la latencia.

Para mitigar este impacto de la latencia en los flujos de usuarios interactivos (como el de confirmación de la compra o la reserva), puedes usar un flujo de trabajo de varios pasos:

  1. Paso 1 (interactivo): Envía una solicitud síncrona con effort=LOW (o el valor predeterminado) para validar la dirección de inmediato con una latencia de menos de un segundo.
  2. Paso 2 (en segundo plano): Envía una solicitud de seguimiento asíncrona con effort=MEDIUM o effort=HIGH (por ejemplo, después de la confirmación de la compra o antes del envío) para resolver direcciones complejas en coordenadas, entradas y puntos de navegación de alta precisión sin bloquear al usuario.

Límites de uso

Durante la etapa de lanzamiento experimental (v4alpha), las solicitudes con effort configurado como MEDIUM o HIGH están sujetas a límites de frecuencia más estrictos que las solicitudes estándar (LOW). Si tu aplicación supera estos límites de frecuencia, la API devuelve un error RESOURCE_EXHAUSTED (HTTP 429). Si encuentras errores HTTP 429 o necesitas una cuota más alta para tu caso de uso, comunícate con nosotros a través del canal de comentarios.

Comentarios

Esta es una función experimental de la API de Geocoding. Agradeceríamos que nos envíes tus comentarios a geocoding-feedback-channel@google.com.