LeafletでOpenStreetMapを使用する際の備忘録

LeafletでOpenStreetMapを表示するやり方を調べたので忘れないように書いておく

LeafletはWeb地図サービスで広く使われるオープンソースのJavaScriptライブラリ
仕様、詳細は公式サイト(https://leafletjs.com/)のTutorialsやDocs(リファレンス)を参照のこと
※記事で記載してるバージョン等は執筆時点のもので最新バージョンとは異なる場合がある

Leafletの導入

LeafletはJavaScriptとCSS各1ファイルとマーカー用のイメージファイルで構成されている
Leaflet導入には、公式サイトよりダウンロードするか外部ファイルとして読み込む
 

ダウンロードして使用する場合は、HTMLファイルヘッダーに次のようなコードを追加する
ダウンロードファイルに含まれるimagesフォルダも適宜配置する

外部ファイルとして読み込む場合は、HTMLファイルヘッダーに次のコードを追加する
(imagesフォルダの配置は不要)

本記事では外部ファイルとして読み込む方法を使用する

地図の表示

OpenStreetMapを表示する設定

地図の位置(中心)とズーム設定

設定内容説明

‘map’ — 表示するdivのid
35.684130,139.774102 — 地図中心の緯度と経度
11 — ズーム(数字が大きくなると拡大)

使用する地図、ライセンス表示、最大ズーム設定

設定内容説明

tileLayer — 使用する地図(OpenStreetMap)
attribution — ライセンス表示
maxZoom — 最大ズーム(必須ではない)

タイルレイヤー読み込み

設定内容説明

地図上にタイルレイヤーを読み込んで表示させる

マーカーとポップアップ

設定内容説明

L.marker — マーカー表示する緯度経度
bindPopup — ポップアップ文字列(imgやaタグも使用可能)
openPopup() — ポップアップ追加と同時に表示

地図表示

htmlのbody内で地図表示位置を指定する

設定内容説明

id — JavaScriptと合わせて”map”とする
width — 指定しなければLeaflet初期値の100%となる
height — Leaflet初期値がないので必ず指定する

地図の表示コード

ここまでの内容をまとめたコード(html)は次のようになる
なおJavaScriptはhtml読み込み後に実行させるためwindow.onloadを使用してる

その他OpenStreetMap以外に国土地理院の地図を使用することも可能
使用する地図、ライセンス表示、最大ズーム設定を以下のように変更すれば良い

 


左がOpenStreetMap、右が国土地理院の地図を表示した例
WordPressにはLeaflet Mapプラグインがあるのでそれを利用するのもよいだろう

コメント