From d0b0d0470beac14a472519705071784185d170c8 Mon Sep 17 00:00:00 2001 From: Olivier Terral Date: Fri, 1 Nov 2013 16:22:09 +0100 Subject: [PATCH] Fix singleclick and doubleclick on windows Surface --- src/ol/mapbrowserevent.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/ol/mapbrowserevent.js b/src/ol/mapbrowserevent.js index bbcd79cb54..086b1c4ba8 100644 --- a/src/ol/mapbrowserevent.js +++ b/src/ol/mapbrowserevent.js @@ -322,10 +322,18 @@ ol.MapBrowserEventHandler.prototype.handlePointerDown_ = */ ol.MapBrowserEventHandler.prototype.handlePointerMove_ = function(browserEvent) { - this.dragged_ = true; - var newEvent = new ol.MapBrowserEvent( - ol.MapBrowserEvent.EventType.TOUCHMOVE, this.map_, browserEvent); - this.dispatchEvent(newEvent); + // Fix IE10 on windows Surface : When you tap the tablet, it triggers + // multiple pointermove events between pointerdown and pointerup with + // the exact same coordinates of the pointerdown event. To avoid a + // 'false' touchmove event to be dispatched , we test if the pointermove + // event has different coordinates. + if (browserEvent.clientX != this.down_.clientX || + browserEvent.clientY != this.down_.clientY) { + this.dragged_ = true; + var newEvent = new ol.MapBrowserEvent( + ol.MapBrowserEvent.EventType.TOUCHMOVE, this.map_, browserEvent); + this.dispatchEvent(newEvent); + } };