2010-04-02 9 views

risposta

1

ho capito

e

questo è il mio codice:

//*********** double right click ********/ 
           var c =0 ; 
           $('#map_canvas')[0].onmousedown=function(event){ 
            if(event.button == 2){ 
             c++; 
           setTimeout(cc, 600); 
           } 
          if (c >1){ 
            alert('ok i get it') 
           } 
           } 
           function cc{ 
            c=0; 
           } 
           //*********** double right click ********/ 
1

non ho potuto vedere un modo semplice di catturare il doppio evento tasto destro del mouse su google maps.

Ma ecco il lavoro intorno che ho usato per il mio caso d'uso:

Mi serviva per eseguire un'azione su un singolo tasto destro del mouse, ma non eseguire l'azione su un doppio click destro, semplicemente lasciare la mappa zoom fuori come al solito.

Ho anche notato che Google Maps emette solo 1 evento rightclick anche quando si fa doppio clic con il pulsante destro del mouse.

Quindi tutto ho fatto è stato in ascolto dell'evento rightclick di Google, e quindi setTimeout per 300 millisecondi e se il nuovo zoom è stato diverso rispetto al vecchio zoom, questo significa che doppia destra cliccato, altrimenti svolgere il mio intervento:

google.maps.event.addListener(map, "rightclick", function(event) { 
    var zoom = map.getZoom() 
     setTimeout(function() { 
     if (map.getZoom() == zoom) { // zooms are the same so they didn't double right click. 
     handleSingleRightClick() // <-- your code here 
     } 
    }, 300) 
}); 
Problemi correlati