Les méthodes GeocodeAddress et SearchDestinations acceptent un paramètre effort facultatif qui vous permet de contrôler le compromis entre la latence de réponse et la précision de la résolution d'adresse.
Le geocoding standard gère les adresses postales bien formatées avec une latence inférieure à une seconde, mais les entrées réelles sont souvent incomplètes, informelles ou complexes (par exemple, "Flat 4B, Sunrise Apartments, opposite Central Mall, Andheri West,
Mumbai" ou "where the warriors play, sf"). En configurant un niveau effort plus élevé, vous pouvez demander à l'API Geocoding d'appliquer un raisonnement et une désambiguïsation étendus pour résoudre les adresses difficiles.
Niveaux d'effort
Spécifiez l'une des valeurs suivantes pour le paramètre effort :
| Niveau d'effort | Description | Latence typique | Cas d'utilisation recommandés |
|---|---|---|---|
EFFORT_UNSPECIFIED |
Valeur par défaut. Se comporte de la même manière que l'effort LOW. |
Inférieure à la seconde | Géocodage standard par défaut. |
LOW |
Optimise pour obtenir les temps de réponse les plus rapides. N'effectue pas de recherche étendue ni de désambiguïsation pour les adresses difficiles. | Inférieure à la seconde | Recherche interactive en temps réel, validation d'adresses standards à grande échelle. |
MEDIUM |
Équilibre entre vitesse et précision. La plupart des requêtes sont renvoyées avec une faible latence standard. Pour les adresses ambiguës ou difficiles, le service applique un traitement supplémentaire pour améliorer la précision, ce qui peut prendre jusqu'à quelques secondes. | Moins d'une seconde pour les adresses standards ; jusqu'à quelques secondes (≤ 4 secondes) pour les adresses ambiguës | Workflows utilisateur interactifs (comme la confirmation de l'adresse lors du paiement) où les utilisateurs peuvent tolérer une brève pause. |
HIGH |
Maximise la précision de la résolution d'adresse pour les adresses incomplètes, informelles ou complexes. Les temps de réponse peuvent être beaucoup plus longs. | Jusqu'à 20 secondes pour les adresses complexes | Traitement en arrière-plan, définition de géocode par lot, répartition logistique ou affinement asynchrone de l'adresse après le règlement. |
Exemples de requêtes
Rechercher des destinations (SearchDestinations)
Incluez le champ effort dans le corps de la requête JSON de votre requête POST adressée à https://geocode.googleapis.com/v4alpha/geocode/destinations. Le paramètre effort affecte principalement la résolution 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
Géocoder une adresse (GeocodeAddress)
Transmettez le paramètre effort en tant que paramètre de requête d'URL dans votre requête GET au point de terminaison /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"
Atténuer l'impact de la latence
Lorsque vous utilisez l'effort MEDIUM ou HIGH dans votre application, l'envoi d'une requête en un seul passage est l'intégration la plus simple. Toutefois, les requêtes dans ces modes peuvent entraîner une latence plus élevée, ce qui peut retarder les workflows synchrones, visibles par l'utilisateur et sensibles à la latence.
Pour atténuer l'impact de cette latence sur les parcours utilisateur interactifs (comme le paiement ou la réservation), vous pouvez utiliser un workflow multipasse :
- Étape 1 (interactive) : envoyez une requête synchrone avec
effort=LOW(ou par défaut) pour valider l'adresse immédiatement avec une latence inférieure à une seconde. - Étape 2 (arrière-plan) : envoyez une requête de suivi asynchrone avec
effort=MEDIUMoueffort=HIGH(par exemple, après le paiement ou avant l'envoi) pour résoudre les adresses complexes en coordonnées, entrées et points de navigation de haute précision sans bloquer l'utilisateur.
Limites d'utilisation
Pendant la phase de lancement expérimental (v4alpha), les requêtes dont le paramètre effort est défini sur MEDIUM ou HIGH sont soumises à des limites de débit plus strictes que les requêtes standards (LOW). Si votre application dépasse ces limites de débit, l'API renvoie une erreur RESOURCE_EXHAUSTED (HTTP 429). Si vous rencontrez des erreurs HTTP 429 ou si vous avez besoin d'un quota plus élevé pour votre cas d'utilisation, contactez-nous via le canal de commentaires.
Commentaires
Il s'agit d'une fonctionnalité expérimentale de l'API Geocoding. N'hésitez pas à nous faire part de vos commentaires à l'adresse geocoding-feedback-channel@google.com.