Question

nous?

je veux faire quelque chose comme ceci:

google.maps.event.addListener(map, 'db_right_click', function(event) {
   alert('ssss')
}

comment Catche 'db_right_click' événement ??

est-il possible ??

Était-ce utile?

La solution

i get it

et

est mon code:

//***********  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 ********/

Autres conseils

Je ne pouvais pas voir un moyen facile de capturer l'événement double clic droit sur google maps.

Mais voici le travail autour je pour mon cas d'utilisation:

Ce que je avais besoin était d'effectuer une action sur un simple clic droit, mais pas effectuer cette action sur un double clic droit, il suffit de laisser la carte effectuer un zoom arrière comme normal.

J'ai aussi remarqué que google maps seulement 1 événement émet de rightclick même lorsque vous double clic droit.

Alors tout ce que je n'étais écouter sur l'événement rightclick de Google, puis setTimeout 300 millisecondes et si le nouveau zoom était différent de celui du vieux zoom, ce qui signifie qu'ils double droit cliqués, sinon effectuer mon action:

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

Vous pouvez attraper événement double clic droit par JavaScript, mais il ne suffit pas si vous avez besoin des données spécifiques de l'événement google maps. Par exemple, vous avez besoin pour obtenir les coordonnées de l'endroit qui était le double clic droit. Voici la solution:

// variable to store right clicked place coordinates
let rightClickCoordinates;
// variable to store amounts of right clicks
let rightClicksAmount = 0;

// listener for google map right click event
google.maps.event.addDomListener(map, 'rightclick', (e) => {
    // store coordinates of place was right clicked
    rightClickCoordinates = e.latLng;
});

// listener for google map container double right click event
document.getElementById('your_map_container_id').addEventListener('mousedown', () => {
    // check for double right click
    if(e.button == 2) {
        // if right mouse button clicked increase amount by 1
        rightClicksAmount++;
    }

    // if we had more than 1 right click during the 300 ms - we caught right double click event
    if (rightClicksAmount > 1) {
        // do what you want with coordinates
        console.log(rightClickCoordinates.lat() + ', ' + rightClickCoordinates.lng());
    }

    // after 300ms set right clicks amount to 0
    setTimeout(()=> {
        rightClicksAmount = 0;
    }, 300);
}});

Vous pouvez obtenir une propriété d'événement google map de la même manière.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top