Google Maps V3でマーカーのonclickイベントをトリガーする方法


128

Googleマップ上のマーカーのonclickイベントをマップの外からトリガーするにはどうすればよいですか?

APIのバージョン3を使用しています。バージョン2のチュートリアルはたくさん見ましたが、バージョン3のチュートリアルは見つかりません。

地図のすべてのマーカー(google.maps.Marker)を含むグローバルな配列(markersという名前)があります。今私は次のようなことをしたいです:

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

クリックが発火しますが、私の場合、情報ウィンドウがマップに合わせて調整されず、わずかに切り詰められます。
Saboor Awan、2011

3
@Saboor Awanコメントはこれを整理する最良の方法ではないので、これについて特定の質問をするようにしてください。
AlexV 2011

これはまだ正しいです。jQueryにもtrigger()関数があることに注意してください。私の場合、インテリセンスがポップアップして、引数を転置させました。
ピート

3
これをv3で行うTypeError: a is undefined in main.js (line 16, col 894)と、その理由は何ですか?
14

1
@invotコードを確認しないと何の役にも立ちませんが、クイック検索中に同じ問題のある人物を見つけました... CSSで「popupMapIn」の幅と高さをパーセント(%)ではなくピクセル(px)で設定してみてください。
AlexV 2014年

9

今後のGoogle社員向けに、ポリゴンのクリックをトリガーした後に以下のようなエラーが発生した場合

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

次に、以下のコードを試してください

google.maps.event.trigger(polygon, "click", {});
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.