chr*_*r85 1 javascript google-maps overlay onclick panning
与此问题相关:“使自定义叠加层可点击(Google Maps API 3)”并与我在同一问题中的评论相关(张贴在这里是为了提高可见性,因为我认为是其他问题)。
我已经click为我的叠加多边形添加了一个侦听器,但是现在我遇到的问题是,当用户想要平移地图并单击叠加来执行此操作时,当释放鼠标按钮时,会触发单击事件。显然,onclick当我只想平移地图时,我不想执行该操作。这个问题有什么优雅的解决方案吗?
这是该问题的一个示例:panning/click issue。
在此处查看此更新的小提琴:http : //jsfiddle.net/9gvsq3od/5/
基本上我添加了这个代码:
var dragging = false;
google.maps.event.addDomListener(this.path_, 'mousedown', function (evt) {
dragging = false;
});
google.maps.event.addDomListener(this.path_, 'mousemove', function (evt) {
dragging = true;
});
// onclick listener
google.maps.event.addDomListener(this.path_, 'click', function (evt) {
if (dragging) { return false;}
alert('clicked on path');
});
Run Code Online (Sandbox Code Playgroud)
click 事件仅在释放鼠标按钮时触发,因此代码dragging在鼠标移动时将变量设置为 true。第一个mousedown手柄重置拖动变量,因为没有“鼠标停止”事件,我们需要在开始新交互时重置状态。
| 归档时间: |
|
| 查看次数: |
970 次 |
| 最近记录: |