Le geocoding de lieu vous permet de récupérer une adresse à partir d'un ID de lieu.
Les ID de lieu identifient de façon unique un lieu dans la base de données Google Places et sur Google Maps. Récupérez les ID de lieu lorsque vous géocodez une adresse. Vous pouvez également récupérer un ID de lieu à partir de nombreuses autres API, telles que Place Details (nouveau), Text Search (nouveau), et Nearby Search (nouveau).
Requêtes de geocoding de lieu
Une requête de geocoding de lieu est une requête HTTP GET au format suivant :
https://geocode.googleapis.com/v4/geocode/places/PLACE_ID
Où PLACE_ID contient l'ID de lieu de l'emplacement qui vous intéresse.
Transmettez tous les autres paramètres en tant que paramètres d'URL ou, pour les paramètres tels que la clé API ou le masque de champ, dans les en-têtes dans le cadre de la requête GET. Exemple :
https://geocode.googleapis.com/v4/geocode/places/ChIJj61dQgK6j4AR4GeTYWZsKWw?key=API_KEY
Ou dans une commande curl :
curl -X GET -H 'Content-Type: application/json' \ -H "X-Goog-Api-Key: API_KEY" \ "https://geocode.googleapis.com/v4/geocode/places/ChIJj61dQgK6j4AR4GeTYWZsKWw"
Utiliser OAuth pour effectuer une requête
L'API Geocoding v4 est compatible avec OAuth 2.0 pour l'authentification. Pour utiliser OAuth avec l'API Geocoding, le jeton OAuth doit être associé au bon champ d'application. L'API Geocoding est compatible avec les champs d'application suivants pour une utilisation avec le geocoding de lieu :
https://www.googleapis.com/auth/maps-platform.geocode: à utiliser avec toutes les méthodes de l'API Geocoding.https://www.googleapis.com/auth/maps-platform.geocode.place: à utiliser uniquement avecGeocodePlacepour le geocoding de lieu.
Vous pouvez également utiliser le champ d'application général https://www.googleapis.com/auth/cloud-platform pour toutes les méthodes de l'API Geocoding. Ce champ d'application est utile lors du développement, mais pas en production, car il s'agit d'un champ d'application général qui permet d'accéder à toutes les méthodes.
Pour en savoir plus et obtenir des exemples, consultez Utiliser OAuth.
Réponses aux requêtes de geocoding de lieu
Le geocoding de lieu renvoie un
GeocodeResult
objet qui représente le lieu correspondant à l'ID de lieu.
Les réponses de l'API Geocoding incluent des types tableaux dans deux emplacements principaux de
GeocodeResult :
GeocodeResult.types: ce tableau indique le ou les types généraux du résultat. Les valeurs possibles sont extraites des tableaux A et B de la page Types de lieux (nouveau).GeocodeResult.addressComponents[].types: chaque composant d'adresse comporte untypestableau indiquant le type de cette partie spécifique de l'adresse. Ces valeurs sont extraites du tableau Types d'adresses et de composants d'adresse de la page Types de lieux (nouveau).
L'objet JSON complet se présente sous la forme suivante :
{ "place": "//places.googleapis.com/places/ChIJj61dQgK6j4AR4GeTYWZsKWw", "placeId": "ChIJj61dQgK6j4AR4GeTYWZsKWw", "location": { "latitude": 37.4220541, "longitude": -122.08532419999999 }, "granularity": "ROOFTOP", "viewport": { "low": { "latitude": 37.4209489697085, "longitude": -122.08846930000001 }, "high": { "latitude": 37.4236469302915, "longitude": -122.0829156 } }, "formattedAddress": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1600 Amphitheatre Pkwy" ] }, "addressComponents": [ { "longText": "1600", "shortText": "1600", "types": [ "street_number" ] }, { "longText": "Amphitheatre Parkway", "shortText": "Amphitheatre Pkwy", "types": [ "route" ], "languageCode": "en" }, { "longText": "Mountain View", "shortText": "Mountain View", "types": [ "locality", "political" ], "languageCode": "en" }, { "longText": "Santa Clara County", "shortText": "Santa Clara County", "types": [ "administrative_area_level_2", "political" ], "languageCode": "en" }, { "longText": "California", "shortText": "CA", "types": [ "administrative_area_level_1", "political" ], "languageCode": "en" }, { "longText": "United States", "shortText": "US", "types": [ "country", "political" ], "languageCode": "en" }, { "longText": "94043", "shortText": "94043", "types": [ "postal_code" ] } ], "types": [ "establishment", "point_of_interest" ] }
Paramètres obligatoires
place: ID du lieu pour lequel vous souhaitez obtenir l'adresse lisible. L'identifiant de lieu est un identifiant unique qui peut être utilisé avec d'autres API Google. Par exemple, vous pouvez utiliser leplaceIDrenvoyé par l' API Roads pour obtenir l'adresse d'un point ancré. Pour en savoir plus sur les ID de lieu, consultez la section ID de lieu.
Paramètres facultatifs
languageCode
Langue dans laquelle renvoyer les résultats.
- Consultez la liste des langues acceptées. Google met souvent à jour les langues acceptées. Cette liste n'est donc pas exhaustive.
-
Si
languageCoden'est pas fourni, l'API utiliseenpar défaut. Si vous spécifiez un code de langue non valide, l'API renvoie uneINVALID_ARGUMENTerreur. - L'API fait de son mieux pour fournir une adresse postale lisible pour l'utilisateur et les habitants. Pour atteindre cet objectif, elle renvoie les adresses postales dans la langue locale, translittérées dans un script lisible par l'utilisateur si nécessaire, en respectant la langue préférée. Toutes les autres adresses sont renvoyées dans la langue préférée. Les composants d'adresse sont tous renvoyés dans la même langue, qui est choisie à partir du premier composant.
- Si un nom n'est pas disponible dans la langue préférée, l'API utilise la correspondance la plus proche.
- La langue préférée a une faible influence sur l'ensemble des résultats que l'API choisit de renvoyer et sur l'ordre dans lequel ils sont renvoyés. Le géocoder interprète les abréviations différemment selon la langue, par exemple les abréviations des types de rues ou les synonymes qui peuvent être valides dans une langue, mais pas dans une autre.
regionCode
Code de région sous forme de valeur de code CLDR à deux caractères. Il n'existe pas de valeur par défaut. La plupart des codes CLDR sont identiques aux codes ISO 3166-1.
Lors du geocoding d'une adresse, geocoding direct, ce paramètre peut influencer les résultats du service pour la région spécifiée, mais sans les limiter totalement. Lors du geocoding d'un lieu ou d'un emplacement (geocoding inversé ou geocoding de lieu), ce paramètre peut être utilisé pour mettre en forme l'adresse. Dans tous les cas, ce paramètre peut affecter les résultats en fonction de la loi applicable.
-
FieldMask
Créez un masque de champ de réponse pour spécifier les champs à renvoyer dans la réponse. Transmettez le masque de champ de réponse à la méthode à l'aide du paramètre d'URL
$fieldsoufields, ou à l'aide de l'en-tête HTTPX-Goog-FieldMask. Par exemple, la requête ci-dessous ne renverra que le champformattedAddressde la réponse. La réponse est la suivante :curl -X GET -H 'Content-Type: application/json' \ -H 'X-Goog-FieldMask: formattedAddress' \ -H "X-Goog-Api-Key: API_KEY" \ "https://geocode.googleapis.com/v4/geocode/places/ChIJj61dQgK6j4AR4GeTYWZsKWw"
{ "formattedAddress": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA" }
Pour en savoir plus, consultez Choisir les champs à renvoyer.