Géocodage inverse

Des coordonnées en entrée, l'adresse la plus proche en sortie, ou la localité, la région ou le pays si c'est tout ce qu'il vous faut.

GEThttps://api.mygeocode.com/v1/reverse

Paramètres

ParamètreTypeDescription
latobligatoirenombreDe -90 à 90.
lonobligatoirenombreDe -180 à 180.
levelfacultatifchaîneLe niveau le plus précis à renvoyer : address (par défaut), street, postcode, city, region, country. Les niveaux moins précis sont plus rapides et ne descendent jamais en dessous du niveau demandé.
radiusfacultatifentierRayon de recherche des adresses en mètres, de 1 à 5000. Par défaut 5000. Choisissez une petite valeur pour obtenir null plutôt qu'une adresse éloignée.
langfacultatifchaîneCode ISO 639-1 pour les noms. Par défaut en.
keyfacultatifchaîneClé d'API, si elle n'est pas envoyée dans un en-tête.

Exemple

$ curl -H "X-API-Key: YOUR_KEY" "https://api.mygeocode.com/v1/reverse?lat=41.8902&lon=12.4922&lang=it"
const url = new URL("https://api.mygeocode.com/v1/reverse");
url.searchParams.set("lat", 41.8902);
url.searchParams.set("lon", 12.4922);
url.searchParams.set("lang", "it");

const { result } = await (await fetch(url, { headers: { "X-API-Key": "YOUR_KEY" } })).json();
console.log(result ? result.formatted : "nothing nearby");
import requests

r = requests.get("https://api.mygeocode.com/v1/reverse",
                 params={"lat": 41.8902, "lon": 12.4922, "lang": "it"}, headers={"X-API-Key": "YOUR_KEY"}, timeout=10)
result = r.json()["result"]
print(result["formatted"] if result else "nothing nearby")
Réponse
{
  "status": "ok",
  "lat": 41.8902,
  "lon": 12.4922,
  "result": {
    "formatted": "Piazza del Colosseo 1, 00184 Roma RM, Italia",
    "lat": 41.890251,
    "lon": 12.492373,
    "distance_m": 9,
    "type": "address",
    "precision": "house",
    "place_id": "it.addr.5d09aa31",
    "components": {
      "house_number": "1",
      "road": "Piazza del Colosseo",
      "suburb": "Municipio Roma I",
      "city": "Roma",
      "county": "Roma",
      "state": "Lazio",
      "postcode": "00184",
      "country": "Italia",
      "country_code": "it"
    }
  }
}

Champs de la réponse

ChampTypeDescription
lat, lonnombreLe point que vous avez envoyé, renvoyé tel quel.
resultobjet ou nullnull lorsque rien ne se trouve dans le rayon radius au niveau demandé.
result.formattedchaîneL'adresse, ou le nom de la localité pour les niveaux moins précis.
result.lat, result.lonnombreLa position de l'élément renvoyé, pas celle de votre point.
result.distance_mentierDistance en mètres entre votre point et l'élément. 0 lorsque le point se trouve à l'intérieur.
result.type, result.precision, result.place_id, result.componentsComme pour le géocodage direct.

Remarques

La même recherche aux formats d'autres fournisseurs

Si vous avez déjà du code écrit pour l'un de ces fournisseurs, gardez-le : l'hôte compatible accepte le même chemin et les mêmes paramètres et répond dans le format de réponse de ce fournisseur, avec cet endpoint derrière. Voir le fonctionnement des hôtes compatibles.

FournisseurHôteChemin
Google Maps Platformgapi.mygeocode.com/maps/api/geocode/json?latlng=lat,lng
Bing Maps REST Servicesbing.mygeocode.com/REST/v1/Locations/{lat},{lon}
HERE Geocoding and Searchhere.mygeocode.com/v1/revgeocode?at=lat,lng
Mapbox Geocodingmapbox.mygeocode.com/geocoding/v5/mapbox.places/{lon},{lat}.json
/search/geocode/v6/reverse?longitude=...&latitude=...
Geocode.Farmfarm.mygeocode.com/reverse/?lat=...&lon=...
/v3/json/reverse/?lat=...&lon=...
OpenStreetMap Nominatimosm.mygeocode.com/reverse?lat=...&lon=...&format=json
OpenCageopencage.mygeocode.com/geocode/v1/json?q=lat,lng
LocationIQlocationiq.mygeocode.com/v1/reverse?lat=...&lon=...&format=json
Geoapifygeoapify.mygeocode.com/v1/geocode/reverse?lat=...&lon=...
TomTom Searchtomtom.mygeocode.com/search/2/reverseGeocode/{lat},{lon}.json
MapQuest Geocodingmapquest.mygeocode.com/geocoding/v1/reverse?location=lat,lng
Geocodiogeocodio.mygeocode.com/v1.7/reverse?q=lat,lng
PositionStackpositionstack.mygeocode.com/v1/reverse?query=lat,lng

Recherches en masse

Envoyez en POST au même chemin un corps JSON avec coords, un tableau de jusqu'à 100 paires [lat, lon], et la réponse contient un tableau results avec une entrée par paire, dans l'ordre d'envoi. Chaque entrée compte comme une requête, et un lot plus grand que ce qui reste du quota est refusé en entier.

$ curl -X POST "https://api.mygeocode.com/v1/reverse" -H "Content-Type: application/json" -d '{"coords": [[52.5163, 13.3777], [47.3769, 8.5417]]}'

Erreurs

400 invalid_request lorsque lat ou lon est absent ou hors limites, ou que level ne fait pas partie des valeurs listées.