目的
GIS勉強の一環として、簡易な距離測定WEBページを作成して見たいと思います。
ツール選択
web系GISライブラリとして、Google Map, Mapbox, OpenLayersが有名ですが、ライセンスがうるさいため、ここは軽量且つパワフルなleafletを使います。
ベース地図
地理院タイル及びGoogleの地図タイルを利用します。
無料で利用できる地図タイルはありがたいですね。地理院の方はいい仕事してくれました。
初めて税金が正しいところに使われたと実感します。
地理院の地図タイルはたくさんあります。ここで使うものをリストします。
地理院標準地図
https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png
地理院淡色地図
https://cyberjapandata.gsi.go.jp/xyz/pale/{z}/{x}/{y}.png
地理院航空写真
https://cyberjapandata.gsi.go.jp/xyz/seamlessphoto/{z}/{x}/{y}.jpg
Google地図のみ
https://mt1.google.com/vt/lyrs=r&x={x}&y={y}&z={z}
Google写真+地図
https://mt1.google.com/vt/lyrs=y&x={x}&y={y}&z={z}
Google写真のみ
https://mt1.google.com/vt/lyrs=s&x={x}&y={y}&z={z}
CSS
全部手書きでもよいがbootstrapを利用します。
JS
1 | var map = L.map('map', { |
成果物
地図上距離測定して見たい方はぜひ使ってみてください。
ソースコードもコンパイルしてないので、興味のある方はぜひ見てください。
感想
leafletは他のライブラリを依存しないし、ソースコードも少ないため、読んでみるとjavascriptの勉強にもなります。
大変素晴らしいライブラリです。今後もっと深堀して行きたいと思います。