2012-09-27 76 views
1

我有以下問題。 在我的谷歌地圖應用程序,我需要區分點擊和點擊標記點擊。處理標記點擊和雙擊googlemaps

所以,當我創建標記創建兩個監聽器:

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參考中找到它。

回答

0

嘗試使用點擊事件和右鍵點擊事件而不是點擊和dblclick。

+0

只適用於有2個鼠標按鈕的人! –

1

這是我的解決方法。它使用全局變量來處理這兩個函數。不是最雄辯的,但工作。

   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 ; 
       }); 
+0

這個效果很好。相當俗氣,它一定是這樣,但c'est la vie。 +1 –