基本的な地図表示(Leaflet)

プログラムの概要とデモ

 Leafletを使って地理院地図を表示するだけの基本的なプログラムです。 地図の移動や拡大縮小などは、すべてLeafletが行ってくれます。

ソースの説明

HTMLの<head>タグのソース

 Leafletを利用する場合、HTMLの<head>タグに、LeafletのJavaScriptのソースファイルとCSSファイルを参照するための指定を行います。 ソースは、ダウンロードしたファイルを指定しても構いませんし、Leafletのサーバのファイルを直接指定しても構いません。 私は、ダウンロードしたファイルを指定して利用しています。

<link rel="stylesheet" href="js/leaflet.css" /> <script src="js/leaflet.js"></script>

HTMLの<body>タグのソース

 Leafletを利用する場合、HTMLの<body>タグには、地図を表示するためのdivタグを作成するだけです。 divタグには、idを設定し、このidをleafletに渡します。

<div id="map_container"></div>

全画面表示する場合のCSSのソース

 divタグに、widthやheightスタイルを使ってサイズ指定をすれば、その範囲内に地図が表示されます。 地図を全画面に表示したい場合は、下記の様にスタイルを設定します。

#map_container { position: absolute; top:0; left:0; right:0; bottom:0; }

JavaScriptのソース

 地図を表示するためには、HTML読込後に下記のソースを実行する必要があります。 私は、<body>タグのonloadイベントに登録した関数で実行しています。
 最初に、LeafletのMapクラスで地図を作成し、TileLayerクラスで、表示する地図を指定します。 setViewメソッドでは、地図の中心位置の緯度経度とズームレベルを指定します。
 サンプルプログラムでは、地理院地図で日本全体を表示するように設定しています。

let map = L.map('map_container'); L.tileLayer("https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png",{ attribution: "<a href='https://maps.gsi.go.jp/development/ichiran.html'" + " target='_blank'>地理院標準地図</a>" }).addTo(map); // 地理院地図を表示 map.setView([37,136.5], 6); // 日本を表示

 Leafletの特徴ですが、クラスを作成するときは、小文字で始まる名前で作成します。 ですから、L.mapや、L.tileLayerのAPI仕様を参照する場合は、大文字で始まるMapクラスや、TileLayerクラスの仕様を参照する必要があります。
 「map = L.map」は「map = new L.Map」と同じ意味です。


Copyright (C) ASH Joe Masumura