位置情報APIと逆ジオコーディングAPIを使ってブラウザで住所を取得
はじめに
位置情報 API と逆ジオコーディングAPIを使ってブラウザで住所を取得する方法
TL;DR
- 位置情報 は
navigator.geolocation.getCurrentPosition
で取得- 緯度(
latitude
), 経度(longitude
), 精度(accuracy
)などが取得可能
- 緯度(
- 緯度経度を使って逆ジオコーディング API で住所情報を取得
https://mreversegeocoder.gsi.go.jp/reverse-geocoder/LonLatToAddress?lat=<緯度>&lon=<経度>
- 町名など(
lv01Nm
), 住所コード(muniCd
) が取得可能
- 住所コードを変換表にかけて都道府県などの情報を取得
- 変換表:
https://maps.gsi.go.jp/js/muni.js
GSI.MUNI_ARRAY[<muniCd>]
で取得可能
- 変換表:
目次
詳細
サンプル HTML
すごく雑に書いたサンプル、 <head>
などは割愛。
1 | <body> |
CodePen、直接開いた方が良いかも: https://codepen.io/17num/pen/XWaYgLo
See the Pen Untitled by 17num (@17num) on CodePen.
解説
コード中にコメントも書いてるので参考リンクと合わせて見れば OK。
まとめ
- 位置情報 は
navigator.geolocation.getCurrentPosition
で取得- 緯度(
latitude
), 経度(longitude
), 精度(accuracy
)などが取得可能
- 緯度(
- 緯度経度を使って逆ジオコーディング API で住所情報を取得
https://mreversegeocoder.gsi.go.jp/reverse-geocoder/LonLatToAddress?lat=<緯度>&lon=<経度>
- 町名など(
lv01Nm
), 住所コード(muniCd
) が取得可能
- 住所コードを変換表にかけて都道府県などの情報を取得
- 変換表:
https://maps.gsi.go.jp/js/muni.js
GSI.MUNI_ARRAY[<muniCd>]
で取得可能
- 変換表:
その他・メモ
逆ジオコーディング API に関する公式ドキュメントを小一時間探したけど見つからず。
もう少し精度の良い住所情報が欲しい場合は他にも API がある。試してないし、有料のものもあるので参考レベル。
- 緯度経度から住所を取得してリスト化したい【逆ジオコーディング】
- API | HeartRails Geo API | 郵便番号/住所/緯度経度データ変換サービス
- Yahoo!ジオコーダAPI - Yahoo!デベロッパーネットワーク
- 緯度経度での住所検索 | いつもNAVI API 3.0 マニュアル
参考文献
- 位置情報 API - Web API | MDN
- 一般公開されている 逆ジオコーディング API を使ってみる – Webアプリケーション作ってみる
- 国土地理院APIでお手軽ジオコーディング&逆ジオコーディング
関連記事
- jQuery Select2 で、初期値の設定と選択状態のクリア
- JavaScript で画像をローカルにダウンロード
- JavaScript で複数画像を zip に圧縮してローカルにダウンロード
- HTML img タグで画像が 404 エラーのときに代替画像を表示する方法
- mailto リンクで 宛先/CC/BCC/件名/本文 を指定 (JavaScript サンプルあり)
- Chart.js(vue-chartjs) でツールチップの表示内容を変更
- JavaScript で URL のクエリパラメータを操作する方法
- axios で添付ファイルありのリクエスト(multipart/form-data の POST)