Comment déclencher l'événement onclick d'un marqueur sur un Google Maps V3?


128

Comment déclencher l' événement onclick d'un marqueur sur Google Maps depuis l'extérieur de la carte?

J'utilise la version 3 de l'API. J'ai vu de nombreux tutoriels pour la version 2, mais je ne le trouve pas pour la version 3.

J'ai un tableau global ( marqueurs nommés ) contenant tous les marqueurs de la carte (google.maps.Marker). Maintenant, je veux faire quelque chose comme:

markers[i].click(); //I know it's not working, but you get the idea...

//Next line seems to be the way in v2, but what's the equivalent in v3?
GEvent.trigger(markers[i], 'click');

Merci pour votre aide et si vous avez besoin de plus d'informations, faites-le moi savoir!

Réponses:


331

J'ai trouvé la solution! Merci à Firebug;)

//"markers" is an array that I declared which contains all the marker of the map
//"i" is the index of the marker in the array that I want to trigger the OnClick event

//V2 version is:
GEvent.trigger(markers[i], 'click');

//V3 version is:
google.maps.event.trigger(markers[i], 'click');

le clic se déclenche, mais dans mon cas, les fenêtres d'informations ne s'adaptent pas à la carte, elles sont légèrement réduites.
Saboor Awan

3
@Saboor Awan Essayez de poser une question spécifique à ce sujet car les commentaires ne sont pas la meilleure façon de régler le problème.
AlexV

Ceci est toujours correct. N'oubliez pas que jQuery a également une trigger()fonction. Dans mon cas, l'intellisense surgissait et me poussait à transposer les arguments.
Pete

3
Faire cela pour la v3 me donne TypeError: a is undefined in main.js (line 16, col 894)Quelle en serait la raison?
invot le

1
@invot Je ne peux pas vraiment aider sans voir le code, mais j'ai trouvé quelqu'un avec le même problème en faisant une recherche rapide ... Essayez de définir la largeur et la hauteur de "popupMapIn" en CSS en utilisant des pixels (px) et non des pourcentages (%) .
AlexV

9

Pour les futurs Googleurs, si vous obtenez une erreur similaire ci-dessous après avoir déclenché un clic pour un polygone

"Uncaught TypeError: Cannot read property 'vertex' of undefined"

puis essayez le code ci-dessous

google.maps.event.trigger(polygon, "click", {});
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.