Google maps 在Google地图上同时处理标记单击和双击
我有以下问题。 在我的谷歌地图应用程序中,我需要区分点击和双击标记 因此,当我创建标记时,我会创建两个侦听器:Google maps 在Google地图上同时处理标记单击和双击,google-maps,google-maps-api-3,Google Maps,Google Maps Api 3,我有以下问题。 在我的谷歌地图应用程序中,我需要区分点击和双击标记 因此,当我创建标记时,我会创建两个侦听器: google.maps.event.addListener(markerTMP, 'click', (function(routeID) { return function() { console.log('click '+routeID); } })(poi
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));
问题是,当我使用双击时,也会使用单击。
我的想法是如何处理这个问题:
单击-创建超时,双击-删除超时
但是有正常的方法来处理这个问题吗?
我无法在API参考中找到它。在API中没有“官方”方法来处理此问题。创建超时似乎是最简单的方法。尝试使用click事件和rightclick事件,而不是click和dblclick。以下是我的解决方法。它使用一个全局变量跨两个函数工作。不是最有说服力的,但很有效
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.