Як запустити подію маркера onclick на Google Maps V3?


128

Як запустити подію onclick маркера на Картах Google за межами карти?

Я використовую версію 3 API. Я бачив багато навчальних посібників для версії 2, але не можу знайти її для версії 3.

У мене є глобальний масив (з назвою маркери ), що містить увесь маркер карти (google.maps.Marker). Тепер я хочу зробити щось на кшталт:

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

Дякуємо за вашу допомогу, і якщо вам потрібна додаткова інформація, повідомте мене!

Відповіді:


331

Я знайшов рішення! Завдяки 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');

Клацання спрацьовує, але в моєму випадку інформація Windows не адаптується до карти, вона трохи знижується.
Saboor Awan

3
@Saboor Awan Спробуйте задати конкретне питання з цього приводу, оскільки коментарі - не найкращий спосіб розібратися в цьому.
AlexV

Це все-таки правильно. Пам'ятайте, що jQuery також має trigger()функцію. У моєму випадку intellisense спливав, змушуючи мене перенести аргументи.
Піт

3
Це для v3 дає мені TypeError: a is undefined in main.js (line 16, col 894)Що було б причиною цього?
інвот

1
@invot Не можу допомогти, не побачивши код, але я знайшов когось із тією ж проблемою під час швидкого пошуку ... Спробуйте встановити "popupMapIn" ширину та висоту в CSS за допомогою пікселів (px), а не відсотків (%) .
AlexV

9

Для майбутніх службовців Google, якщо ви отримаєте помилку, подібну нижче, після натискання клавіші полігону

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

потім спробуйте код нижче

google.maps.event.trigger(polygon, "click", {});
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.