編集 5.18.2017: Leaflet Framework 経由の生の CSS と Javascript (推奨)
BoxZoom プラグインのソース コードを調べていたところ、Leaflet の組み込み DOM mutatorsを使用したアプローチに気付き、ここで宣伝したいと思いました...これは確かにベスト プラクティスです。
jsfiddle の例
CSS のどこかに、このようなクラスを含めます。
.leaflet-container.crosshair-cursor-enabled {
cursor:crosshair;
}
十字線を有効にしたい場合は、JS でこれを行います。
// Assumes your Leaflet map variable is 'map'..
L.DomUtil.addClass(map._container,'crosshair-cursor-enabled');
次に、十字線を無効にする場合は、JS でこれを行います。
L.DomUtil.removeClass(map._container,'crosshair-cursor-enabled');
元の回答: マップ レベルの十字線
@ scud42 は私を正しい道に導いてくれました。JQuery を使用して、リーフレット マップ カーソルを次のように変更できます。
$('.leaflet-container').css('cursor','crosshair');
その後、マップ カーソルをリセットしたい場合は、次のようにします。
$('.leaflet-container').css('cursor','');
編集 1.21.2016: 機能ごとの十字線
className
ポリゴンやフィーチャの頂点など、オプションをサポートする個々のフィーチャに対してクロスヘアを有効にすることもできます。
ポインターの十字線を切り替えるドラッグ可能な頂点の例を次に示します ( jsfiddle )。
var svg_html_default = '<div style="margin:0px;padding:0px;height:8px;width:8px;border-style:solid;border-color:#FFFFFF;border-width:1px;background-color:#424242"</div>';
var default_icon = L.divIcon({
html: svg_html_default,
className: 'leaflet-mouse-marker',
iconAnchor: [5,5],
iconSize: [8,8]
});
var m = new L.marker([33.9731003, -80.9968865], {
icon: default_icon,
draggable: true,
opacity: 0.7
}).addTo( map );
m.on("mouseover",function(){$('.leaflet-mouse-marker').css('cursor','crosshair');});
m.on("mouseout",function(){$('.leaflet-mouse-marker').css('cursor','');});