お仕事で地図のJSライブラリについて調べる機会があったので、メモ代わりに残します.
Leafletとは
地図を表示させたり、マッピングすることが出来る便利なJSライブラリです.
とりあえず地図を表示させてみる
headタグにCSSライブラリとJSライブラリを読み込む
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>地図サンプル</title> <link rel="stylesheet" href="https://unpkg.com/leaflet@1.6.0/dist/leaflet.css" integrity="sha512-xwE/Az9zrjBIphAcBb3F6JVqxf46+CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQ==" crossorigin="" /> <!-- Make sure you put this AFTER Leaflet's CSS --> <script src="https://unpkg.com/leaflet@1.6.0/dist/leaflet.js" integrity="sha512-gZwIG9x3wUXg2hdXF6+rVkLF/0Vi9U8D2Ntg4Ga5I5BZpVkVxlJWbSQtXPSiUTtC0TjtGOmxa1AJPuV0CPthew==" crossorigin="" ></script> </head> <body></body> </html>
地図の中心部分とタイルを指定する
<body> <div id="map"></div> </body> <script> var map = L.map("map"); map.setView([35.710063, 139.8107], 15); L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png").addTo( map ); </script>
map
という変数に入れて、setView
というメソッド(第一引数は緯度経度の配列、第二引数にズーム具合)を使って地図の中心部分を指定しています.
tileLayer
というメソッドで地図のタイルの指定をしています.
Documentation - Leaflet - a JavaScript library for interactive maps
Documentation - Leaflet - a JavaScript library for interactive maps
タイルにもいろいろあり、様々な種類の地図が表示出来るようになっています.
ブラウザで確認してみると地図が表示されます. 緯度経度に東京スカイツリーを指定したので、中心地点に東京スカイツリーが確認できました.
ピンを立ててみる
Goole Mapとかでよくみる地図上のピンも実装できます.
maker
というメソッド(引数に緯度経度の配列)を使って、緯度経度を指定してあげます.
L.marker([35.710063, 139.8107]).addTo(map);
Documentation - Leaflet - a JavaScript library for interactive maps
ブラウザで確認してみると東京スカイツリーにピンがたっています.
まとめ
APIキーを取得したり、お金をかけずに簡単に地図を表示できて感動しました.便利な機能が他にもたくさんありそうなので、興味のある方は触ってみてください.
リンク