私たちのプロジェクトの 1 つで、プラグインLeaflet
と一緒に使用しています。Leaflet.markercluster
のソースを調べると、マップのイベントに関数がLeaflet
追加されていることがわかりました。そのため、マップをクリックするたびに、以前に展開されたクラスターが縮小されます。
ここで、この動作を無効にしたいと思います。クラスターが展開されている場合は、イベントですべてのマーカーの選択を解除したいだけです(クラスター自体を収縮させません)。これが私のコードの一部です: _collapse()
click
click
map.on('click', function(e) {
scope.deselectAllMarkers();
});
click
イベント の伝播を停止するために、この 1 行のコールバックの最後に次の行を追加しようとしました。
scope.L.DomEvent.stopPropagation(e);
scope.L.DomEvent.preventDefault(e);
scope.L.DomEvent.stop(e);
scope.L.DomEvent.stopPropagation(e.originalEvent);
scope.L.DomEvent.preventDefault(e.originalEvent);
scope.L.DomEvent.stop(e.originalEvent);
そして、それらのどれも機能しません。ソース内に隠されているデフォルトのリスナーはLeaflet
、マップをクリックするたびに呼び出しを保持します。何か不足していますか?