禁用CircleMarker上的地图缩放双击传单

vai*_*hah 13 javascript leaflet

当我点击CircleMarker对象时,我正试图在地图上禁用缩放,但直到现在,都没有成功.

这是我的代码:

var myCircle = new L.CircleMarker(new L.LatLng(50.924480, 10.758276), 10).addTo(map);
myCircle.on("click", function () {
    //my click stuff
});
myCircle.on("dblclick", function () {
    //my dblclick stuff
});
Run Code Online (Sandbox Code Playgroud)

每次触发dblclick事件时,地图都会被缩放,如何禁用它?

小智 25

尝试

var myCircle = new L.CircleMarker(new L.LatLng(50.924480, 10.758276), 10).addTo(map);
map.doubleClickZoom.disable(); 
Run Code Online (Sandbox Code Playgroud)

参考这份文件

  • 如果我理解正确,这将完全禁用双击缩放地图.这是OP想要的吗?我只想在双击标记时禁用双击缩放. (6认同)

keu*_*eul 6

上面的答案都不适合我:

\n
    \n
  • 调用本地人ev.originalEvent.preventDefault()什么也没做
  • \n
  • false都不返回
  • \n
  • 我不太喜欢doubleClickZoom这种解决方法(尽管 \xe2\x80\xa6 它有效!)
  • \n
\n

使用Leaflet DomEvent为我完成了这项工作:

\n
\nimport { DomEvent } from \'leaflet\';\n\nmyFeature.on("dblclick", function (ev) {\n  DomEvent.stopPropagation(ev)\n});\n
Run Code Online (Sandbox Code Playgroud)\n


The*_*ker 5

这里的所有答案都是在 Leaflet 地图对象初始化之后。

我想通过说明您也可以在地图对象初始化期间禁用 doubleClickZoom 来表达我的看法。

注意:这将禁用整个地图的 doubleClickZoom,而不仅仅是圆形标记。

map = L.map('map', {
      center: [39.8282, -98.5795],
      zoom: 5,
      doubleClickZoom: false
    });
Run Code Online (Sandbox Code Playgroud)

PS 我正在运行传单版本 1.7.1