我想让这个map在触摸屏上工作(必须启用WebGL)。touchmove事件并非总是在Chrome浏览器上触发
在Android上使用Firefox可以正常工作。但对于Chrome来说,最初如果我触摸它的屏幕,它会起作用,但是如果我释放屏幕并快速再次触摸(在我释放屏幕后不到1或2秒),则不会触发任何touchmove
事件。如果等待时间足够长,我会正确收到touchmove
事件。
下面是一些相关的代码(很抱歉,我不能提供完整的源代码):
canvas.on('touchstart', function() {
//init drag
e.preventDefault();
return false;
});
canvas.on('touchmove', function() {
//move the map
e.preventDefault();
return false;
});
canvas.on('touchend', function() {
//stop drag
e.preventDefault();
return false;
});
我试图与不preventDefault
或return false
,没有成功。我错过了什么 ?
您可以重现此问题与Chrome for Android,首先启用的WebGL(去chrome://flags
并启用的WebGL)here或here for a more beautiful view。
我会尝试禁用地址更新。 – Jazz
禁用URL更新的确可以解决问题!由于我已经使用'replaceState',我必须找到另一种解决方法。 – Jazz
顺便说一句,在Chrome桌面上有相同的错误。 – Grsmto