Googleで「leaflet 操作 無効化」等で検索しても、さくっと見つからなかったので自分用メモを兼ねて。
はじめに
Leafletは、JavaScriptで地図APIを呼び出すための高機能なライブラリである。基本的には、ユーザーが地図を自由に移動できるよう作られているが、場合によっては、地図を固定したい(操作を禁止したい)場合もあるだろう。
移動させないことを前提として、地図を読み込みたいならば、例えば以下の記事のように、L.map
へオプションを渡せば解決する。
しかし、特定の条件を踏んだ時にのみ、操作を禁止するという場合はどのようにすればよいのだろうか。
結論
const mymap=L.map("your_map_div_id")
とした上で、以下の関数を呼び出すと良い。
index.js
function map_control_disable(){
//ドラッグやズーム等、すべてを禁止する
mymap.dragging.disable();
mymap.touchZoom.disable();
mymap.scrollWheelZoom.disable();
mymap.doubleClickZoom.disable();
mymap.boxZoom.disable();
mymap.tapHold.disable();
mymap.keyboard.disable();
mymap.zoomControl.disable();
}
以上。
参考文献