Leafletとは、Webに地図を表示できるJavaScriptライブラリです。背景地図(地理院地図等)の表示やコントロールを、独自でカスタマイズしてWebGISとして公開するために利用します。OpenLayersより軽量で操作しやすいと情報を得たので試してみます。
背景に地理院地図を表示するためには下記のように記述します。
index.html
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>sample</title>
<link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.css" />
<script src="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.js"></script>
<link href="stylesheet.css" rel="stylesheet" />
</head>
<body>
<div id="map"></div>
<script src="script.js"></script>
</body>
</html>
stylesheet.css
html, body {
width: 100%;
height: 100%;
}
#map {
width: 100%;
height: 100%;
}
script.js
var map = L.map('map');
L.tileLayer('http://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png', {
attribution: "<a href='http://www.gsi.go.jp/kikakuchousei/kikakuchousei40182.html' target='_blank'>国土地理院</a>"
}).addTo(map);
map.setView([35.681382, 139.766084], 15);
index.htmlを実行すると下記のようにブラウザで表示されます。 ※「この地図は、国土地理院長の承認を得て、同院発行の電子地形図(タイル)を複製したものである。 (承認番号 平27情複、 第224号)」
読み込む地図の種類を変えたい時: L.tileLayer~の部分の記述を変更します。
淡色地図
L.tileLayer('http://cyberjapandata.gsi.go.jp/xyz/pale/{z}/{x}/{y}.png', {
attribution: "<a href='http://www.gsi.go.jp/kikakuchousei/kikakuchousei40182.html' target='_blank'>国土地理院</a>"
}).addTo(map);
電子国土基本図(オルソ画像)
L.tileLayer('http://cyberjapandata.gsi.go.jp/xyz/ort/{z}/{x}/{y}.jpg', {
attribution: "<a href='http://www.gsi.go.jp/kikakuchousei/kikakuchousei40182.html' target='_blank'>国土地理院</a>"
}).addTo(map);
初期表示位置・縮尺を変えたい時: map.setView~の部分の記述を変更します。
日本全体表示
map.setView([35.999887, 138.75], 5);
- 参考文献
Leaflet
地理院タイルを用いた開発