Aujourd’hui, pas de grand billet mais juste une petite astuce pour ceux qui, comme moi, chercheraient une API pour obtenir une adresse à partir de coordonnées plus ou moins précises (ce que nos amis anglophones appellent « reverse geocoding »). Pour ce faire, nous allons utiliser l’API nominatim d’Open Street Map. Cette API est entièrement gratuite et ne nécessite pas d’identification. Les seules limites résident dans l’utilisation de la base de données d’Open Street Map (qui, je vous le rappelle, est basée sur la communauté et n’est donc pas toujours très complète) et dans le nombre de requêtes autorisées (voyez cette page pour plus d’infos).
Utilisation de l’API
Adresse de l’API
L’API doit être appelée à partir de cette adresse:
https://nominatim.openstreetmap.org/reverse
Paramètres utiles
L’API prend les paramètres suivant (à passer en GET):
Paramètre | Valeur | Description |
---|---|---|
format | html , xml , json | Le format de sortie. Json peut être utilisé avec le paramètre json_callback |
lat | Votre latitude | |
lon | Votre longitude | |
zoom | Un nombre compris entre 0 et 18 | Le niveau de détail : 0 pour le pays, 18 pour le batiment |
addressdetails | 0 ou 1 | Permet d’obtenir plus de détails |
Exemple d’utilisation
Imaginons que votre application, dédiée à la visite de lieux touristiques, localise un utilisateur à la latitude 48.858502 et à la longitude 2.293932. Pour récupérer le lieu où la personne se trouve au format XML, il vous suffira de récupérer la page https://nominatim.openstreetmap.org/reverse?format=xml&lat=48.858502&lon=2.293932&zoom=18&addressdetails=
. Et hop, vous savez maintenant que votre utilisateur se trouve à Paris, au pied de la Tour Eiffel !
Et voilà, enjoy!