Récupérer le eventObject de JavaScript lors de l'utilisation de l'écouteur de l'API Google Maps

Dans google maps API V3, j'aimerais ajouter un marqueur à la carte si l'utilisateur a cliqué sur la carte. Pour cela, j'ai ajouté un auditeur à la carte, comme suit:

google.maps.event.addListener(map, 'click', function(e){ if (event.ctrlKey) add_marker(e.position); }); 

Le paramètre e , passé par l'auditeur, contient des données, mais surtout en ce qui concerne la position du clic, alors que je souhaite savoir si le bouton de contrôle a été pressé pendant le temps où l'usser a cliqué sur la carte.

J'ai trouvé que chrome avait un événement objet, qui est l' événement EventObject Javascript par défaut, qui contenait les données dont j'avais besoin (ctrlKey) et cela fonctionne bien dans Chrome.

Cependant, lorsque j'ai essayé le même code dans FF, il ne pouvait pas trouver un objet appelé «événement», et je ne trouve pas un moyen de le récupérer.

J'apprécierais votre aide pour trouver une solution qui fonctionnera également sur IE.

Merci, DanC

L'API ne dit rien sur l'accès à l'objet événement DOM.

L'argument passé à la fonction callback contient actuellement une propriété b qui se réfère à l'objet événement, afin que vous puissiez utiliser ebctrlKey

Mais comme cela n'est pas documenté, il n'est pas fiable de changer demain.

Une autre option:
Vous pouvez observer l'événement pour le div qui contient la carte sans utiliser la méthode API:

 map.getDiv().onclick=function(e) { e=window.event||e; if (e.ctrlKey) { //do something } }