Wie kann das Onclick-Ereignis eines Markers in Google Maps V3 ausgelöst werden?


128

Wie löse ich das Onclick- Ereignis eines Markers in Google Maps von außerhalb der Karte aus?

Ich benutze Version 3 der API. Ich habe viele Tutorials für Version 2 gesehen, kann diese aber für Version 3 nicht finden.

Ich habe ein globales Array (benannte Marker ), das alle Marker der Karte enthält (google.maps.Marker). Jetzt möchte ich etwas tun wie:

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

Vielen Dank für Ihre Hilfe und wenn Sie weitere Informationen benötigen, lassen Sie es mich wissen!

Antworten:


331

Ich habe die Lösung gefunden! Danke an 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');

Klick wird ausgelöst, aber in meinem Fall passt sich das Infofenster nicht an die Karte an, es wird leicht gekürzt.
Saboor Awan

3
@ Saboor Awan Versuchen Sie, eine bestimmte Frage zu stellen, da Kommentare nicht der beste Weg sind, dies zu klären.
AlexV

Dies ist immer noch richtig. Denken Sie daran, dass jQuery auch eine trigger()Funktion hat. In meinem Fall tauchte Intellisense auf und veranlasste mich, die Argumente umzusetzen.
Pete

3
Wenn ich das für v3 mache, habe ich das. TypeError: a is undefined in main.js (line 16, col 894)Was wäre der Grund dafür?
einladen

1
@invot Kann nicht wirklich helfen, ohne Code zu sehen, aber ich habe bei einer Schnellsuche jemanden mit dem gleichen Problem gefunden ... Versuchen Sie, die Breite und Höhe von "popupMapIn" in CSS mit Pixeln (px) und nicht mit Prozent (%) festzulegen. .
AlexV

9

Für zukünftige Googler: Wenn Sie nach dem Auslösen einen ähnlichen Fehler erhalten, klicken Sie auf ein Polygon

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

Versuchen Sie dann den folgenden Code

google.maps.event.trigger(polygon, "click", {});
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.