Surveillez l'utilisation de votre clé avant d'atteindre une limite
Surveiller vos en-têtes de quota au fil de l'eau vous indique quand une limite approche, bien avant qu'une requête ne soit effectivement refusée.
Une boîte « vouliez-vous dire » fonctionne au mieux lorsqu'elle apparaît discrètement, propose une courte liste et s'efface si aucune suggestion ne convient. L'endpoint de saisie semi-automatique est conçu exactement pour ce schéma.
GET /v1/autocomplete?q=Baker Stret&limit=4{
"status": "ok",
"query": "Baker Stret",
"suggestions": [
{"text": "Baker Street, London, UK", "place_id": "abc123"},
{"text": "Baker Street, York, UK", "place_id": "abc789"}
]
}Notez qu'une faute de frappe comme « Stret » dans la requête n'empêche pas le retour de suggestions pertinentes, puisque l'endpoint est conçu pour fonctionner avec une saisie imparfaite, ce qui est justement toute la raison d'être d'une boîte de suggestions.
Toutes les requêtes, avec ou sans faute de frappe, ne produisent pas une correspondance utile.
GET /v1/autocomplete?q=Zzqxlm Nonexistent Rd&limit=4{
"status": "ok",
"query": "Zzqxlm Nonexistent Rd",
"suggestions": []
}Un tableau de suggestions vide est ici une réponse correcte, et non le signe d'un problème dans la requête. Concevez la boîte pour qu'elle disparaisse discrètement dans ce cas, plutôt que d'afficher une liste déroulante vide ou un état d'erreur visible pour une saisie qui n'a simplement pas de bonne correspondance.
Affichez le champ text de chaque suggestion comme libellé visible et conservez le place_id associé à celle qui est cliquée, puisque c'est cet identifiant que vous transmettez ensuite pour résoudre l'adresse complète, plutôt que de réanalyser le texte affiché.
L'élément le plus important de ce schéma, surtout sur un site sans JavaScript côté client pour gérer l'interaction, est que le champ accepte toujours directement une adresse saisie à l'envoi du formulaire, qu'une suggestion ait été cliquée ou non. Une boîte de suggestions qui bloque l'envoi tant qu'une de ses options n'a pas été sélectionnée transforme un coup de pouce utile en obligation stricte, et toute adresse légitimement absente de la liste de suggestions devient impossible à envoyer.
Les adresses écrites dans un autre système d'écriture que celui avec lequel votre boîte de suggestions a principalement été testée, ou les noms de lieux translittérés, font réellement partie de la plupart des bases d'adresses et méritent le même traitement de « repli sur le texte libre » que toute autre requête sans correspondance. Ne supposez pas qu'une absence de suggestions pour une saisie inhabituelle signifie que la saisie elle-même est invalide, puisque la bonne réponse consiste souvent simplement à laisser le client envoyer exactement ce qu'il a tapé.
Donnez à limit une petite valeur, trois à cinq suffisent généralement pour une boîte de suggestions, puisqu'une liste plus longue va à l'encontre d'un coup d'œil rapide. Appliquez un debounce aux appels pour qu'une requête ne parte qu'après une courte pause dans la saisie, ce qui maintient bas le nombre total de requêtes par session.
Un champ d'adresse typique peut déclencher une poignée d'appels de saisie semi-automatique par visiteur pendant qu'il tape et se corrige, chacun représentant une requête. C'est une petite fraction des 2 500 requêtes gratuites par jour incluses avec chaque clé, ou disponibles depuis une même adresse sans clé, même sur un formulaire au trafic conséquent.
Une boîte de suggestions bien conçue corrige discrètement les fautes de frappe et s'efface devant tout ce qu'elle ne reconnaît pas. Les définitions complètes des champs figurent dans la documentation de la saisie semi-automatique d'adresses.