zoomBox时也会触发map.on('click',onClick)

时间:2013-07-18 14:20:02

标签: javascript leaflet

我已经定义了map.on('click',onClick)事件,但是当有人使用zoomBox处理程序(Shift +绘图缩放框)时它也会触发

function onClick(e) {alert(e.latlng);}

e.type始终是“点击”

我正在使用宣传单版本0.5.1

我该如何避免这种情况?

提前致谢

1 个答案:

答案 0 :(得分:1)

我认为你发现了一个错误!我发现这个 bug 只出现在IE 10中,不仅仅是0.5.1,而且0.6也有同样的问题。您可以report a bugLeaflet issue tracker

现在,暂时,您可以跟踪mousedown点并与click点进行比较,以确定是否移动了光标。

var mousedownPoint; // global

map.on('mousedown', function (e) {
  mousedownPoint = e.containerPoint;
});

map.on('click', function (e) {
  if (!e.containerPoint.equals(mousedownPoint)) {
    return;
  }

  // DO WHAT YOU WANT
});