Jak wywołać zdarzenie onclick znacznika w Google Maps V3?


130

Jak wywołać zdarzenie onclick znacznika w Mapach Google spoza mapy?

Używam wersji 3 API. Widziałem wiele samouczków dla wersji 2, ale nie mogę znaleźć tego dla wersji 3.

Mam globalną tablicę (nazwane markery ) zawierającą wszystkie znaczniki mapy (google.maps.Marker). Teraz chcę zrobić coś takiego:

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

Dziękuję za pomoc i jeśli potrzebujesz więcej informacji, daj mi znać!

Odpowiedzi:


334

Znalazłem rozwiązanie! Dzięki 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');

klik się uruchamia, ale w moim przypadku okna informacyjne nie dopasowują się do mapy, lekko się ucięły.
Saboor Awan

3
@Saboor Awan Spróbuj zadać konkretne pytanie na ten temat, ponieważ komentarze nie są najlepszym sposobem rozwiązania tego problemu.
AlexV,

To jest nadal poprawne. Pamiętaj, że jQuery ma również trigger()funkcję. W moim przypadku pojawiał się intelisense, powodując transpozycję argumentów.
Pete,

3
Robienie tego w wersji 3 daje mi TypeError: a is undefined in main.js (line 16, col 894)jaki byłby tego powód?
zadzwoń

1
@invot Naprawdę nie mogę pomóc bez zobaczenia kodu, ale znalazłem kogoś z tym samym problemem podczas szybkiego wyszukiwania ... Spróbuj ustawić szerokość i wysokość „popupMapIn” w CSS za pomocą pikseli (px), a nie procent (%) .
AlexV

11

Dla przyszłych pracowników Google: jeśli po uruchomieniu kliknięcia wielokąta pojawi się podobny błąd

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

następnie wypróbuj poniższy kod

google.maps.event.trigger(polygon, "click", {});

2
Uratowałeś moją noc. Walczyłem z tym przez 3 godziny! Dziękuję Ci!!
user2360545
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.