LoginSignup
1
0

More than 1 year has passed since last update.

mapbox:右クリックした場所の住所を得る

Last updated at Posted at 2022-12-15

mapbox の Reverse geocoding を使用すると、緯度経度から住所を得ることができます。

map.on('contextmenu', (e) => {
    //let uri = `https://nominatim.openstreetmap.org/reverse?format=json&zoom=18&lat=${e.lngLat.lat}&lon=${e.lngLat.lng}`;
    let uri = `https://api.mapbox.com/geocoding/v5/mapbox.places/${e.lngLat.lng},${e.lngLat.lat}.json?language=ja&access_token=${mapboxgl.accessToken}`;

    fetchData(uri).then(function(response){ return response.text().then(function(jsonStr){
        var data = JSON.parse(jsonStr);
        //var context = data.display_name +`<br>`;
        var context = data.features[0].place_name +`<br>`;
        clearPopup();
        new mapboxgl.Popup().setLngLat(e.lngLat).setHTML(context).addTo(map);
    });}).catch(err => { console.log(err); })
});

async function fetchData(_uri) {
    const res = await fetch(_uri);
    const data = await res;
    return data;
}

const clearPopup=function(){
    const popups = document.getElementsByClassName("mapboxgl-popup");
    if (popups.length) {
        popups[0].remove();
    }
}

image.png

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0