目次
はじめに
OpenStreetMapとLeafletで地図にマーカーを複数を表示する方法を紹介します。
地図の表示イメージは以下の通りです。(東京タワー、東京スカイツリー、六本木ヒルズ にマーカーを表示しています)
Leafletで地図にマーカを複数表示する方法
スポンサーリンク
JavaScriptの実装例
<!DOCTYPE html> <html> <head> <title>OpenStreetMapとLeafletで地図にマーカーを複数表示する</title> <meta charset="utf-8"> <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: 500px;"></div> <script type="text/javascript"> //緯度,経度,ズーム var map = L.map('view_map').setView([35.6809591, 139.7673068], 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); var popup = L.popup(); L.marker([35.658577, 139.745451]).addTo(map).on('click', function (e) { popup .setLatLng(e.latlng) .setContent("東京タワー") .openOn(map); }); L.marker([35.6603835, 139.7292068]).addTo(map).on('click', function (e) { popup .setLatLng(e.latlng) .setContent("六本木ヒルズ") .openOn(map); }); L.marker([35.7100069, 139.8108103]).addTo(map).on('click', function (e) { popup .setLatLng(e.latlng) .setContent("東京スカイツリー") .openOn(map); }); </script> </body> </html>
JavaScriptの解説
地図を表示する場所の指定
地図を表示する場所を指定しています。今回の例では「東京駅」の緯度・経度を指定しています。
var map = L.map('view_map').setView([35.6809591, 139.7673068], 12);
マーカーを表示する場所の指定
地図上にマーカーを表示する場所を指定します。今回の例では「東京タワー」「六本木ヒルズ」「東京スカイツリー」にマーカーを表示しています。
また、マーカーをクリックすると、ポップアップ表示するようにしています。
var popup = L.popup(); L.marker([35.658577, 139.745451]).addTo(map).on('click', function (e) { popup .setLatLng(e.latlng) .setContent("東京タワー") .openOn(map); }); L.marker([35.6603835, 139.7292068]).addTo(map).on('click', function (e) { popup .setLatLng(e.latlng) .setContent("六本木ヒルズ") .openOn(map); }); L.marker([35.7100069, 139.8108103]).addTo(map).on('click', function (e) { popup .setLatLng(e.latlng) .setContent("東京スカイツリー") .openOn(map); });
終わりに
本記事では「OpenStreetMapとLeafletで地図にマーカーを複数を表示する方法」を紹介しました。
次回は「OpenStreetMapとLeafletでマーカーの色を変更する方法」を紹介します。
【関連記事】
- OpenStreetMapとLeafletで簡単に地図を表示する方法
- OpenStreetMapとLeafletで地図にピン(マーカー)を立てる
- OpenStreetMapとLeafletで複数のマーカを表示する方法
- OpenStreetMapとLeafletでマーカーの色を変更する方法
- OpenStreetMapとLeafletで表示位置を変更する方法
- OpenStreetMapとLeafletで地図やマーカーを削除する方法
helpful
この記事は役に立ちましたか?