Google Maps V3에서 마커의 클릭시 이벤트를 트리거하는 방법은 무엇입니까?


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

3
@Saboor Awan 의견이 이것을 분류하는 가장 좋은 방법은 아니기 때문에 이에 관한 특정 질문을하십시오.
AlexV

이것은 여전히 ​​옳습니다. jQuery에도 trigger()함수가 있습니다. 필자의 경우 intellisense가 튀어 나와 논쟁을 바꿨습니다.
Pete

3
v3에 대해이 작업을 수행하면 TypeError: a is undefined in main.js (line 16, col 894)그 이유는 무엇입니까?
invot

1
@invot 코드를 보지 않고는 실제로 도움을 줄 수 없지만 빠른 검색을하는 동안 같은 문제를 가진 사람을 발견했습니다 ... CSS에서 "popupMapIn"너비와 높이를 백분율 (%)이 아닌 픽셀 (px)로 설정하십시오. .
AlexV

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.