Balades En Normandie

Géocodage inverse

J’ai programmé un nouvel outil à disposition des utilisateurs de BaladesEnNormandie.fr : obtenir les coordonnées et l’adresse d’un point en cliquant sur la carte.

L’outil apparaît ici en vert sur la copie d’écran. Quand cet outil est activé, vous pouvez cliquer n’importe où sur la carte, et vous obtiendrez les coordonnées du point cliqué, et son adresse postale.

L’adresse postale indiquée est celle qui est la plus proche du point cliqué. Mais l’adresse la plus proche est parfois assez lointaine… J’hésite à programmer une limite qui n’afficherait l’adresse que si cette distance est inférieure à 100 m par exemple. Dans ce cas, seules les coordonnées seraient affichées… à voir…

A tester sur baladesennormandie.fr (uniquement sur ordi ou tablette)

Pour ceux que ça intéresse, voilà ma fonction geocodeReverse qui utilise api-adresse.data.gouv.fr :

function geocodeReverse(lat, lon, latLng) {
  lat = parseFloat(lat).toFixed(5);
  lon = parseFloat(lon).toFixed(5);

  if (infoWindow) {
    infoWindow.close();
  }

  infoWindow = new google.maps.InfoWindow({
    position: latLng,
  });

  const urlAdd = `https://api-adresse.data.gouv.fr/reverse/?lon=${lon}&lat=${lat}`;
  const xhttp = new XMLHttpRequest();
  xhttp.open("GET", urlAdd, true);
  xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  xhttp.onreadystatechange = function () {
    if (this.readyState === 4 && this.status === 200) {
      const response = JSON.parse(this.responseText);
      const properties = response.features[0].properties;
      const json1 = properties.name;
      const json2 = properties.postcode;
      const json3 = properties.city;
      const json4 = properties.distance;

      infoWindow.setContent(`lat: ${lat} - lon: ${lon}<br/>
        Adresse la plus proche (à ${json4} m): <br/>
        ${json1}<br/><strong>${json2} ${json3}</strong>`);
    } else {
      infoWindow.setContent(`lat: ${lat} - lon: ${lon}`);
    }

    infoWindow.open(map);
  };

  xhttp.send();
}

2 réflexions au sujet de “Géocodage inverse”

  1. Salut Thierry. Encore un outil sur balades en normandie .fr qui est déjà le meilleur site web de randonnée ?! 🙂 Je souris mais c’est pourtant vrai. Te souviens-tu des vues « hélicoptère » de google map il y a quelques années ? C’était génial non ? Salut !

    Répondre
    • Salut Chris. Merci et oui, je me souviens bien de cet outil et il doit en rester des vidéos sur notre chaîne youTube. Nous avons toujours la visu 3D de nos circuits grâce à ArcGis. On pourrait y imaginer un survol de ce genre. Bonnes randos !

      Répondre

Laisser un commentaire