Leafletにて操作内容を履歴に残し「進む」「戻る」ボタンで履歴を実行できる「Leaflet.NavBar」の利用方法
Leafletにてマップ移動やズーム等、ユーザーの操作内容を履歴に残して、「進む」「戻る」ボタンで履歴を実行できるようにしたい。何とかならないか調べたところ「Leaflet.NavBar」ライブラリを使用することで実装できる模様。以下にサンプルとソースコードをメモ。
GitHub
https://github.com/davidchouse/Leaflet.NavBar
デモページ
http://davidchouse.github.io/Leaflet.NavBar/
サンプル
https://taitan916.info/sample/leaflet.js/plugin/Leaflet.NavBar/
マップ移動やズームを行った後に「→」「←」ボタンで前後のアクションが実行できる筈。
実装方法
プラグインの導入
CDNは用意されていないっぽいのでこちらのページより丸ごとダウンロードしsrcフォルダ内のファイルをサーバにアップロードする。
ソースコード
<div id="map" class="sidebar-map"></div> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/leaflet.css"/> <script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/leaflet.js"></script> <link rel="stylesheet" href="Leaflet.NavBar.css"/> <script src="Leaflet.NavBar.js"></script> <script> let map; map = L.map('map'); //中心の経度緯度 const center = ['35.681236', '139.767125']; //ズームレベル const zoom = 12; //マップの中心地とズームレベルを指定 map.setView(center, zoom); const tileLayer = L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',{ attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors', maxZoom: 19 }); tileLayer.addTo(map); //プラグインの実行 L.control.navbar().addTo(map); </script>
関連記事
-
-
Leafletで「Leaflet.markercluster」プラグインを導入してマーカークラスタ機能を追加する方法
LeafletとOpenStreetMapでマップ上にマーカーを複数設置した上で ...
-
-
Leafletで表示したマップにジェスチャーハンドリングを追加する方法(Leaflet.GestureHandling)
GoogleMapをズームする際にPCだと「Ctrl+スクロール」、スマホだと「 ...
-
-
Leafletで「leaflet-search」プラグインを導入してマーカーの検索機能を追加する方法
LeafletとOpenStreetMapでマップ上にマーカーを複数設置した上で ...
-
-
Leafletにタグフィルター機能を実装できる「leaflet-tag-filter-button」プラグインの利用方法
以前にLeafletでマーカーをグループ化し、チェックボックスの状態により表示非 ...
-
-
Leafletにてマップ移動時にURLに座標を自動付与する「leaflet-view-meta」プラグインの利用方法
Googleマップだとマップを移動した際、URLに座標(経度緯度)が付与されるた ...