Bagaimana cara memicu acara onclick dari penanda di Google Maps V3?


128

Bagaimana cara memicu acara klik penanda di Google Maps dari luar peta?

Saya menggunakan versi 3 API. Saya telah melihat banyak tutorial untuk versi 2, tetapi tidak dapat menemukan ini untuk versi 3.

Saya memiliki array global ( penanda bernama ) yang mengandung semua penanda peta (google.maps.Marker). Sekarang saya ingin melakukan sesuatu seperti:

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

Terima kasih atas bantuan Anda dan jika Anda membutuhkan info lebih lanjut, beri tahu saya!

Jawaban:


331

Saya sudah menemukan solusinya! Terima kasih kepada 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 menyala, tetapi dalam kasus saya info windows tidak menyesuaikan ke peta, itu mengurangi sedikit.
Saboor Awan

3
@ Sabab Awan Cobalah untuk mengajukan pertanyaan spesifik tentang ini karena komentar bukan cara terbaik untuk menyelesaikannya.
AlexV

Ini masih benar. Ingat bahwa jQuery juga memiliki trigger()fungsi. Dalam kasus saya, intellisense bermunculan yang menyebabkan saya mengubah argumen.
Pete

3
Melakukan ini untuk v3 memberi saya TypeError: a is undefined in main.js (line 16, col 894)Apa yang akan menjadi alasan untuk itu?
invot

1
@invot Tidak dapat membantu tanpa melihat kode, tetapi saya menemukan seseorang dengan masalah yang sama saat melakukan pencarian cepat ... Cobalah untuk mengatur lebar dan tinggi "popupMapIn" di CSS menggunakan piksel (px) dan bukan persen (%) .
AlexV

9

Untuk Googler di masa mendatang, Jika Anda mendapatkan kesalahan serupa di bawah ini setelah Anda memicu klik untuk poligon

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

lalu coba kode di bawah ini

google.maps.event.trigger(polygon, "click", {});
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.