Dépannage
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
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 géolocalisation 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, plutôt que 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, vous avez confirmé que vos objets wifiAccessPoints et cellTowers n'ont pas pu être géolocalisés.
Comment résoudre un problème d'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
: identique à 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 JSON non valide renvoie l'erreur suivante :
{
"error": {
"errors": [
{
"domain": "global",
"reason": "parseError",
"message": "Parse Error",
}
],
"code": 400,
"message": "Parse Error"
}
}
Pour effectuer des tests supplémentaires, vous pouvez recueillir des informations sur votre appareil à l'aide des SDK et API suivants :
Descriptions des erreurs
Voici les erreurs possibles que vous pouvez rencontrer, avec 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 la clé complète et à avoir acheté l'API ou à avoir activé 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, en nombre de requêtes par 100 secondes et en nombre de requêtes par 100 secondes et par utilisateur. Vous devez configurer votre limite pour empêcher un seul utilisateur ou un petit groupe d'utilisateurs d'épuiser votre quota quotidien, tout en permettant à tous les utilisateurs d'y accéder de manière raisonnable.
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. |
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/08/31 (UTC).
[null,null,["Dernière mise à jour le 2025/08/31 (UTC)."],[[["\u003cp\u003eThe Geolocation API uses IP addresses, WiFi points, and cell towers to determine location, with large accuracy radius often indicating IP-based geolocation.\u003c/p\u003e\n"],["\u003cp\u003eTroubleshooting involves examining the error response, which includes an error code, message, and a list of errors with reasons and descriptions.\u003c/p\u003e\n"],["\u003cp\u003eYou can gather additional testing information from devices using the Android Location APIs, Places SDK for Android and iOS.\u003c/p\u003e\n"],["\u003cp\u003ePossible errors include exceeding daily or user request limits, using an invalid API key, and requests returning no results despite being valid.\u003c/p\u003e\n"]]],["If a large accuracy radius is shown, the service may be using the request IP instead of cell towers or WiFi. Test by setting `considerIp` to false; a 404 response confirms no access points were found. Error responses include a `code` (HTTP status), `message`, and an `errors` list with `reason` and `message`. Common errors include `dailyLimitExceeded` (403), `keyInvalid` (400), `userRateLimitExceeded` (403), `notFound` (404), and `parseError` (400) due to invalid JSON.\n"],null,["# Troubleshoot\n\nHere are some tips on troubleshooting common issues.\n\nWhy is the accuracy radius very large?\n--------------------------------------\n\nIf your Geolocation response shows a very high value in the accuracy field, the\nservice may be geolocating based on the request IP, instead of WiFi points or\ncell towers. These kinds of responses can happen if the service does not\nrecognize any cell towers or access points.\n\nTo confirm that the service could not geolocate your access points, set\n`considerIp` to false in your request. If the response is a 404, you've\nconfirmed that your wifiAccessPoints and cellTowers objects could not be geolocated.\n\nHow do I troubleshoot a response error?\n---------------------------------------\n\nIf your request generates an error, the system returns a standard format error\nresponse body and sets the HTTP status code to an error status.\n\nThe error response contains an object with a single error object with the\nfollowing keys:\n\n- `code`: This is the same as the HTTP status of the response.\n- `message`: A short description of the error.\n- `errors`: A list of errors that occurred. Each error contains an identifier for the type of error (the reason) and a short description (the message).\n\nFor example, sending invalid JSON returns the following error: \n\n {\n \"error\": {\n \"errors\": [\n {\n \"domain\": \"global\",\n \"reason\": \"parseError\",\n \"message\": \"Parse Error\",\n }\n ],\n \"code\": 400,\n \"message\": \"Parse Error\"\n }\n }\n\nGather testing information from devices\n---------------------------------------\n\nFor additional testing, you can gather information from your device using the\nfollowing SDKs and APIs:\n\n- **Android devices** : Go to [Places SDK for Android](/maps/documentation/places/android-sdk/current-place), and [Android\n Location APIs](https://developer.android.com/training/location/index.html).\n\n- **iOS devices** : Go to [Places SDK for iOS](/maps/documentation/places/ios-sdk/current-place).\n\nError descriptions\n------------------\n\nHere are the possible errors you might encounter with descriptions.\n\n| Reason | Domain | HTTP Status Code | Description |\n|-------------------------|---------------|------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `dailyLimitExceeded` | `usageLimits` | 403 | You have exceeded your [daily limit](/maps/documentation/geolocation/usage-and-billing#other-usage-limits). |\n| `keyInvalid` | `usageLimits` | 400 | Your API key is not valid for the Geolocation API. Be sure to include the entire key, and that you've either purchased the API or have [enabled billing and activated the API](/maps/documentation/geolocation/get-api-key) to obtain the quota at no charge. |\n| `userRateLimitExceeded` | `usageLimits` | 403 | You have exceeded the request limit that you configured in the Google Cloud console. This limit is typically set as requests per day, requests per 100 seconds, and requests per 100 seconds per user. You should configure your limit to prevent a single or small group of users from exhausting your daily quota, while still allowing reasonable access to all users. See [Capping API Usage](https://cloud.google.com/apis/docs/capping-api-usage) to configure these limits. |\n| `notFound` | `geolocation` | 404 | The request was valid, but no results were returned. |\n| `parseError` | `global` | 400 | The request body is not valid JSON. Refer to the [Request Body](/maps/documentation/geolocation/requests-geolocation#body) section for details on each field. |"]]