Voici quelques conseils pour résoudre les problèmes courants.
Pourquoi le rayon de précision est-il très grand ?
Si la réponse de l'API Geolocation affiche une valeur très élevée dans le champ de précision, il est possible que le service effectue la géolocalisation en fonction de l'adresse IP de la requête, et non des points d'accès Wi-Fi ou des antennes-relais. Ce type de réponse peut se produire si le service ne reconnaît aucune antenne-relais ni aucun point d'accès.
Pour confirmer que le service n'a pas pu géolocaliser vos points d'accès, définissez considerIp sur "false" dans votre requête. Si la réponse est une erreur 404, cela signifie que vos objets wifiAccessPoints et cellTowers n'ont pas pu être géolocalisés.
Comment résoudre une erreur de réponse ?
Si votre requête génère une erreur, le système renvoie un corps de réponse d'erreur au format standard et définit le code d'état HTTP sur un état d'erreur.
La réponse d'erreur contient un objet avec un seul objet d'erreur comportant les clés suivantes :
code: correspond à l'état HTTP de la réponse.message: brève description de l'erreur.errors: liste des erreurs qui se sont produites. Chaque erreur contient un identifiant pour le type d'erreur (la raison) et une brève description (le message).
Par exemple, l'envoi d'un fichier JSON non valide renvoie l'erreur suivante :
{
"error": {
"errors": [
{
"domain": "global",
"reason": "parseError",
"message": "Parse Error",
}
],
"code": 400,
"message": "Parse Error"
}
}
Recueillir des informations de test à partir des appareils
Pour effectuer des tests supplémentaires, vous pouvez collecter des informations à partir de votre appareil à l'aide des services de localisation intégrés proposés par chaque plate-forme :
Appareils Android : utilisez LocationManager ou l'API Fused Location Provider.
Appareils iOS : utilisez le framework Core Location d'Apple.
Descriptions des erreurs
Voici les erreurs que vous pouvez rencontrer, ainsi que leur description.
| Motif | Domaine | HTTP Status Code | Description |
|---|---|---|---|
dailyLimitExceeded |
usageLimits |
403 | Vous avez dépassé votre limite quotidienne. |
keyInvalid |
usageLimits |
400 | Votre clé API n'est pas valide pour l'API Geolocation. Veillez à inclure l'intégralité de la clé et à acheter l'API ou à activer la facturation et l'API pour obtenir le quota sans frais. |
userRateLimitExceeded |
usageLimits |
403 | Vous avez dépassé la limite de requêtes que vous avez configurée dans la console Google Cloud. Cette limite est généralement définie en nombre de requêtes par jour, de requêtes par 100 secondes et de requêtes par 100 secondes et par utilisateur. Vous devez configurer votre limite pour empêcher un utilisateur ou un petit groupe d'utilisateurs d'épuiser votre quota quotidien, tout en permettant un accès raisonnable à tous les utilisateurs. Consultez Limiter l'utilisation des API pour configurer ces limites. |
notFound |
geolocation |
404 | La requête était valide, mais n'a renvoyé aucun résultat. |
parseError |
global |
400 | Le corps de la requête ne présente pas un format JSON valide. Pour en savoir plus sur chaque champ, consultez la section Corps de la requête. |