我有以下问题。 在我的谷歌地图应用程序上,我需要区分点击和doulbe点击标记。
因此,当我创建标记时,我会创建两个侦听器:
google.maps.event.addListener(markerTMP, 'click', (function(routeID) {
return function() {
console.log('click '+routeID);
}
})(pointRoute));
google.maps.event.addListener(markerTMP, 'dblclick', (function(routeID) {
return function() {
p('double click '+routeID);
}
})(pointRoute));
问题是当我使用双击时,也会使用click。 我的想法如何处理: 点击 - 创建一个超时,双击 - 删除它。
但有没有正常的方法来处理这个问题? 我无法在API参考中找到它。
答案 0 :(得分:2)
这是我的解决方法。它使用全局变量来处理这两个函数。不是最有说服力的,但有效。
google.maps.event.addListener(marker, 'click', function() {
x = 0
update_timeout = setTimeout(function(){
if (x == 0) {
// do something ;
};
}, 300);
});
google.maps.event.addListener(marker, 'dblclick', function() {
x=1
// do something ;
});
答案 1 :(得分:1)
在API中没有“官方”方式来处理这个问题。创建超时似乎是accepted approach。
答案 2 :(得分:0)
尝试使用click事件和rightclick事件,而不是单击和dblclick。