目次
Leafletとは
Leafletとは、地図データを扱うためのJavaScript ライブラリです。
Leafletの公式サイト:https://leafletjs.com/
Leafletはあくまでも地図データを扱うためのライブラリなので、Leaflet単体では地図を表示させることはできません。地図を表示させるためにはLeafletとは別に、地図サービスを使う必要があります。
スポンサーリンク
本記事では、クレジット表記をすれば、無料で利用できる地図サービスである「OpenStreetMap」を利用しています。
OpenStreatMapのライセンス:https://www.openstreetmap.org/copyright/ja
OpenStreetMapとLeafletで地図を表示する
地図の表示イメージ
今回、生成する地図は以下です。
実装例
<!DOCTYPE html> <html> <head> <title>OpenStreetMapとLeafletで地図を表示する</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="https://unpkg.com/leaflet@1.6.0/dist/leaflet.css" integrity="sha512-xwE/Az9zrjBIphAcBb3F6JVqxf46+CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQ==" crossorigin=""/> <script src="https://unpkg.com/leaflet@1.6.0/dist/leaflet.js" integrity="sha512-gZwIG9x3wUXg2hdXF6+rVkLF/0Vi9U8D2Ntg4Ga5I5BZpVkVxlJWbSQtXPSiUTtC0TjtGOmxa1AJPuV0CPthew==" crossorigin=""></script> </head> <body> <div id="view_map" style="height: 350px;"></div> <script type="text/javascript"> //緯度,経度,ズーム var map = L.map('view_map').setView([35.658577, 139.745451], 12); // OpenStreetMap から地図画像を読み込む L.tileLayer('https://{s}.tile.osm.org/{z}/{x}/{y}.png', { maxZoom: 18, attribution: 'Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, ' }).addTo(map); </script> </body> </html>
ソースコードの解説
Leafletの読み込み
Leafletのjsファイルとcssファイルを読み込みます。jsファイルとcssファイルはダウンロードして指定することもできますが、今回の例ではCDNで指定しています。
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.6.0/dist/leaflet.css" integrity="sha512-xwE/Az9zrjBIphAcBb3F6JVqxf46+CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQ==" crossorigin=""/> <script src="https://unpkg.com/leaflet@1.6.0/dist/leaflet.js" integrity="sha512-gZwIG9x3wUXg2hdXF6+rVkLF/0Vi9U8D2Ntg4Ga5I5BZpVkVxlJWbSQtXPSiUTtC0TjtGOmxa1AJPuV0CPthew==" crossorigin=""></script>
地図を埋め込む場所の指定
地図を埋め込みたい場所を指定します。
<div id="view_map" style="height: 350px;"></div>
地図に表示する場所を指定
地図に表示する場所(緯度・経度)とズームを指定します。
//緯度,経度,ズーム var map = L.map('view_map').setView([35.658577, 139.745451], 12);
OpenStreetMapから地図を読み込む
「http://{s}.tile.osm.org/{z}/{x}/{y}.png」を指定してOpenStreetMapから地図を読み込みます。
OpenStreetMapはクレジット表記が必要なので「'Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors,」を記載しています。
// OpenStreetMap から地図画像を読み込む L.tileLayer('https://{s}.tile.osm.org/{z}/{x}/{y}.png', { maxZoom: 18, attribution: 'Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, ' }).addTo(map);
終わりに
本記事では、OpenStreetMapとLeafletで簡単に地図を表示する方法を紹介しました。
次回は「地図にピン(マーカー)を立てる方法」を紹介します。
【関連記事】
- OpenStreetMapとLeafletで簡単に地図を表示する方法
- OpenStreetMapとLeafletで地図にピン(マーカー)を立てる
- OpenStreetMapとLeafletで複数のマーカを表示する方法
- OpenStreetMapとLeafletでマーカーの色を変更する方法
- OpenStreetMapとLeafletで表示位置を変更する方法
- OpenStreetMapとLeafletで地図やマーカーを削除する方法