Requête et réponse de geocoding inversé (recherche d'adresse)

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Le terme geocoding désigne généralement la traduction d'une adresse lisible en un emplacement sur une carte. Le processus inverse, c'est-à-dire la conversion d'un emplacement sur la carte en une adresse lisible, est appelé geocoding inversé.

Requêtes de géocodage inversé

Paramètres obligatoires

  • latlng : valeurs de latitude et de longitude spécifiant l'établissement pour lequel vous souhaitez obtenir l'adresse la plus proche, lisible et lisible.
  • key : clé API de votre application. Cette clé identifie votre application à des fins de gestion des quotas. Découvrez comment obtenir une clé.

Paramètres facultatifs

Voici les paramètres facultatifs que vous pouvez inclure dans une requête de géocodage inversé:

  • language : langue dans laquelle les résultats sont renvoyés.
    • Consultez la liste des langues acceptées. Cette liste n'est pas exhaustive, car Google met souvent à jour les langues acceptées.
    • Si language n'est pas fourni, le geocoder tente d'utiliser la langue préférée spécifiée dans l'en-tête Accept-Language, ou la langue native du domaine à partir duquel la requête est envoyée.
    • Le geocoder s'efforce de fournir une adresse postale lisible aussi bien par l'utilisateur que par les locaux. Pour atteindre cet objectif, elle renvoie des adresses postales dans la langue locale, transcrites dans un script lisible par l'utilisateur si nécessaire, en observant 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, le geocoder utilise la correspondance la plus proche.
  • result_type : filtre d'un ou plusieurs types d'adresses, séparés par une barre verticale (|). Si le paramètre contient plusieurs types d'adresses, l'API renvoie toutes les adresses qui correspondent à l'un ou l'autre de ces types. Remarque sur le traitement: Le paramètre result_type ne restreint pas la recherche aux types d'adresses spécifiés. L'élément result_type agit simplement comme un filtre post-recherche: l'API récupère tous les résultats pour le latlng spécifié, puis supprime les résultats qui ne correspondent pas au(x) type(s) d'adresse spécifié(s).Les valeurs suivantes sont acceptées :
    • street_address indique une adresse postale précise.
    • route indique un itinéraire nommé (par exemple, "US 101").
    • intersection indique une intersection majeure, généralement sur deux routes principales.
    • political indique une entité politique. Généralement, ce type indique un polygone d'administration publique.
    • country indique l'entité politique nationale. Il s'agit généralement du type de campagne le plus élevé renvoyé par le Geocoder.
    • administrative_area_level_1 indique une entité civile de premier ordre en dessous du niveau du pays. Aux États-Unis, ces niveaux d'administration sont des États. Tous les pays ne disposent pas de ces niveaux d'administration. Dans la plupart des cas, les noms courts "admin_area_level_1" correspondent étroitement aux subdivisions ISO 3166-2 et à d'autres listes diffusées largement. Cependant, cela n'est pas garanti, car nos résultats de géocodage sont basés sur différents signaux et données de localisation.
    • administrative_area_level_2 indique une entité civile de second ordre en dessous du niveau du pays. Aux États-Unis, ces niveaux administratifs correspondent à des comtés. Tous les pays ne disposent pas de ces niveaux d'administration.
    • administrative_area_level_3 indique une entité civile de troisième ordre en dessous du niveau du pays. Ce type indique une division civile mineure. Toutes les nations ne possèdent pas ces niveaux administratifs.
    • administrative_area_level_4 indique une entité civile de quatrième ordre en dessous du niveau du pays. Ce type indique une division civile mineure. Toutes les nations ne possèdent pas ces niveaux administratifs.
    • administrative_area_level_5 indique une entité civile de cinquième ordre en dessous du niveau du pays. Ce type indique une division civile mineure. Toutes les nations ne possèdent pas ces niveaux administratifs.
    • administrative_area_level_6 indique une entité civile de sixième ordre en dessous du niveau du pays. Ce type indique une division civile mineure. Toutes les nations ne possèdent pas ces niveaux administratifs.
    • administrative_area_level_7 indique une entité civile de septième ordre en dessous du niveau du pays. Ce type indique une division civile mineure. Toutes les nations ne possèdent pas ces niveaux administratifs.
    • colloquial_area indique un autre nom couramment utilisé pour l'entité.
    • locality indique une ville ou une entité politique municipale.
    • sublocality indique une entité civile de premier ordre en dessous d'une localité. Pour certains établissements, vous pouvez recevoir l'un des types supplémentaires suivants : de sublocality_level_1 à sublocality_level_5. Chaque niveau de sous-localité correspond à une entité civile. Un nombre élevé indique une zone géographique plus petite.
    • neighborhood indique un quartier nommé.
    • premise indique un lieu nommé, généralement un bâtiment ou une collection de bâtiments ayant un nom commun.
    • subpremise indique une entité de premier ordre en dessous d'un lieu nommé, généralement un bâtiment unique dans un ensemble de bâtiments ayant un nom commun.
    • plus_code indique une référence de lieu encodée, déterminée par la latitude et la longitude. Les Plus Codes peuvent être utilisés pour remplacer les adresses postales dans les endroits où elles n'existent pas (où les bâtiments ne sont pas numérotés ni nommés). Pour en savoir plus, consultez la page https://plus.codes.
    • postal_code indique un code postal utilisé pour adresser un courrier postal dans le pays.
    • natural_feature indique une caractéristique naturelle importante.
    • airport indique un aéroport.
    • park indique un parc nommé.
    • point_of_interest indique un point d'intérêt nommé. En général, ces POI sont des entités locales importantes qui ne rentrent pas facilement dans une autre catégorie, comme l'"Empire State Building" ou l'Eiffel Tower.
  • location_type : filtre d'un ou plusieurs types d'emplacements, séparés par une barre verticale (|). Si le paramètre contient plusieurs types d'emplacements, l'API renvoie toutes les adresses qui correspondent à l'un ou l'autre de ces types. Remarque sur le traitement: Le paramètre location_type ne restreint pas la recherche aux types d'emplacements spécifiés. En revanche, location_type agit comme un filtre post-recherche: l'API récupère tous les résultats pour le latlng spécifié, puis supprime les résultats qui ne correspondent pas au ou aux types d'emplacements spécifiés. Les valeurs suivantes sont acceptées :
    • "ROOFTOP" ne renvoie que les adresses pour lesquelles Google dispose d'informations de localisation précises, jusqu'à la précision de l'adresse postale.
    • "RANGE_INTERPOLATED" ne renvoie que les adresses qui correspondent à une approximation (généralement sur une route) interpolées entre deux points précis (tels que des intersections). Une plage interpolée indique généralement que les géocodes sur le toit ne sont pas disponibles pour une adresse postale.
    • "GEOMETRIC_CENTER" ne renvoie que les centres géométriques d'un lieu, tels qu'une polyligne (par exemple, une rue) ou un polygone (une région).
    • "APPROXIMATE" ne renvoie que les adresses considérées comme approximatives.

Si les filtres result_type et location_type sont présents, l'API ne renvoie que les résultats qui correspondent aux valeurs result_type et location_type. Si aucune des valeurs de filtre n'est acceptable, l'API renvoie ZERO_RESULTS.

Exemple de géocodage inversé

La requête suivante contient la valeur latitude/longitude pour un lieu à Brooklyn :

https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&key=YOUR_API_KEY

La requête ci-dessus renvoie le résultat suivant :

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "277",
               "short_name" : "277",
               "types" : [ "street_number" ]
            },
            {
               "long_name" : "Bedford Avenue",
               "short_name" : "Bedford Ave",
               "types" : [ "route" ]
            },
            {
               "long_name" : "Williamsburg",
               "short_name" : "Williamsburg",
               "types" : [ "neighborhood", "political" ]
            },
            {
               "long_name" : "Brooklyn",
               "short_name" : "Brooklyn",
               "types" : [ "sublocality", "political" ]
            },
            {
               "long_name" : "Kings",
               "short_name" : "Kings",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "New York",
               "short_name" : "NY",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "United States",
               "short_name" : "US",
               "types" : [ "country", "political" ]
            },
            {
               "long_name" : "11211",
               "short_name" : "11211",
               "types" : [ "postal_code" ]
            }
         ],
         "formatted_address" : "277 Bedford Avenue, Brooklyn, NY 11211, USA",
         "geometry" : {
            "location" : {
               "lat" : 40.714232,
               "lng" : -73.9612889
            },
            "location_type" : "ROOFTOP",
            "viewport" : {
               "northeast" : {
                  "lat" : 40.7155809802915,
                  "lng" : -73.9599399197085
               },
               "southwest" : {
                  "lat" : 40.7128830197085,
                  "lng" : -73.96263788029151
               }
            }
         },
         "place_id" : "ChIJd8BlQ2BZwokRAFUEcm_qrcA",
         "types" : [ "street_address" ]
      },

  ... Additional <code>results[]</code> ...

Notez que le géocodeur inversé a renvoyé plusieurs résultats. Les résultats "formatted_address" ne sont pas simplement des adresses postales, mais un moyen de nommer géographiquement un lieu. Par exemple, lors du géocodage d'un point dans la ville de Chicago, celui-ci peut être désigné par une adresse postale, par la ville (Chicago), par son État (Illinois) ou par un pays (États-Unis). Toutes sont des "adresses" du geocoder. Le geocoder inversé renvoie l'un de ces types comme résultats valides.

Le geocoder inversé fait correspondre des entités politiques (pays, provinces, villes et quartiers), adresses postales et codes postaux.

La liste complète des valeurs formatted_address renvoyées par la requête précédente est affichée ci-dessous.

"formatted_address" : "277 Bedford Avenue, Brooklyn, NY 11211, USA",
"formatted_address" : "Grand St/Bedford Av, Brooklyn, NY 11211, USA",
"formatted_address" : "Grand St/Bedford Av, Brooklyn, NY 11249, USA",
"formatted_address" : "Bedford Av/Grand St, Brooklyn, NY 11211, USA",
"formatted_address" : "Brooklyn, NY 11211, USA",
"formatted_address" : "Williamsburg, Brooklyn, NY, USA",
"formatted_address" : "Brooklyn, NY, USA",
"formatted_address" : "New York, NY, USA",
"formatted_address" : "New York, USA",
"formatted_address" : "United States",

En règle générale, les adresses sont renvoyées de la plus spécifique à la moins spécifique. L'adresse la plus exacte est le résultat le plus proéminent, comme c'est le cas ici. Notez que nous renvoyons différents types d'adresses, de l'adresse postale la plus précise à des entités politiques moins spécifiques telles que des quartiers, des villes, des États, etc. Si vous souhaitez cibler un type d'adresse spécifique, consultez la section ci-dessous sur la limitation des résultats par type.

Géocodage inversé filtré par type

L'exemple suivant filtre les adresses renvoyées pour n'inclure que celles dont le type d'emplacement est ROOFTOP et le type d'adresse street_address.

https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452
&location_type=ROOFTOP&result_type=street_address&key=YOUR_API_KEY

Remarque:Ces filtres ne sont valides que pour le géocodage inversé.

Réponses de géocodage inversé

Le format de la réponse de geocoding inversé est identique à celui de la réponse Geocoding. Consultez Réponses Geocoding. Vous trouverez ci-dessous les codes de statut possibles dans une réponse de géocodage inversé.

Codes d'état de géocodage inversé

Le champ "status" de l'objet de réponse Geocoding contient l'état de la requête et peut contenir des informations de débogage pour vous aider à déterminer pourquoi le geocoding inversé ne fonctionne pas. Le champ "status" peut contenir les valeurs suivantes:

  • "OK" indique qu'aucune erreur ne s'est produite et qu'au moins une adresse a été renvoyée.
  • "ZERO_RESULTS" indique que le geocoding inversé a réussi, mais n'a renvoyé aucun résultat. Cela peut se produire si le geocoder a reçu une valeur latlng à un emplacement distant.
  • "OVER_QUERY_LIMIT" indique que vous avez dépassé votre quota.
  • "REQUEST_DENIED" indique que la requête a été refusée. Cela peut être dû au fait que la requête inclut un paramètre result_type ou location_type, mais n'inclut pas de clé API.
  • "INVALID_REQUEST" indique généralement l'une des situations suivantes :
    • La requête (address, components ou latlng) est manquante.
    • result_type ou location_type non valide ont été fournis.
  • "UNKNOWN_ERROR" indique que la requête n'a pas pu être traitée en raison d'une erreur du serveur. La requête pourrait aboutir si vous réessayez.

Géocodage inversé et codes

Le champ plus_code de l'objet de réponse Geocoding contient un plus code qui se rapproche le mieux de la latitude et de la longitude interrogées. En outre, le tableau de résultats JSON contient le plus souvent un résultat de geocoding complet avec un type plus_code et une adresse contenant un code plus. La distance entre le plus code décodé et le point de requête est garantie inférieure à 10 mètres.