スタートページJavaScript地図地図(その他)

逆ジオコーディング 国土地理院API 最も単純な方法


逆ジオコーディングとは、緯度・経度から住所を得ることです。
ここでは、国土地理院のサービスでの最も単純な方法を掲げます。

直接リンクによる方法

検索
次の記述により、国土地理院のサイトにリンクされます。
 これを利用者のHTMLにコピーし、緯度・経度を修正して「検索]をクリックするだけでよいのです。
  <a href="https://mreversegeocoder.gsi.go.jp/reverse-geocoder/LonLatToAddress?lat=35.658584&lon=139.74543" id="terget">検索</a>
    35.658584 緯度
    139.74543 経度
その結果、別ウインドウに住所が、次の形式で表示されます。
このデータを変数として取得し、他のシステムと連携するには、複雑な処理が必要になります。
  {"results":{"muniCd":"13103","lv01Nm":"芝公園四丁目"}}     muniCd 市区町村コード lv01Nm それ以下の住所 市区町村コードの一覧表は、https://www.soumu.go.jp/main_content/000632830.pdf にあります。→ 131032 東京都 港区 (一覧表は6桁ですが、最後の1桁はチェック用ですので、5桁までが比較の対象になります。) また、gov-geo.js 説明書に、「コード→市区町村名」の関数群(自作)があります。

form で緯度・経度を与える

緯度= 経度=
別ウインドウに表示するのは上と同じですが、ウインドウ画面を小さくして、別ウインドウであることを明白にしました。

    var 緯度 = eval(document.form1.緯度.value);
    var 経度 = eval(document.form1.経度.value);
    var url = new URL('https://mreversegeocoder.gsi.go.jp/reverse-geocoder/LonLatToAddress');
    url.searchParams.set('lat', 緯度);
    url.searchParams.set('lon', 経度);
    window,open(url, "_blank","width=500, height=200");

緯度・経度→住所

rev-geo-gsi0と、gov-geo.jsを組み合わせて、「緯度・経度→住所」を一挙に行なう処理は、 rev-geo-gsiにあります。