2012-02-20 6 views
0

Google지도 v2를 사용하고 있으며 Google 이벤트가 발생하면 firefox에서 이벤트 객체를 가져 오는 데 문제가 있습니다. 궁극적으로 특정 오버레이의 클릭 이벤트가 발생할 때 눌려지는 키에 대한 정보를 검색 할 수 있도록 이벤트 객체가 필요합니다. 다음은 몇 가지 코드입니다.자바 스크립트를 통해 firefox 이벤트 객체를 참조하십시오.

IE와 Chrome에서 잘 작동합니다. 함수에 전달 된 변수 'e'는 'click'이벤트의 위도/경도입니다. 그래서 어떻게 내가 파이어 폭스 이벤트 개체 오히려 구글 이벤트 위도/긴 참조 할 것이라고 ..?

감사합니다.

답변

1

이렇게하는 것은 좋은 방법이 아닙니다. GEvent.addListener을 사용하는 대신 DOM 버전의 polys[i] 개체 (일반적으로 polys[i].Zk 같은 것으로 참조 됨)에 이벤트를 바인딩하는 것이 좋습니다. polys[i].Zk에서 찾고있는 것보다 렌더링 된 객체를 사용하고지도가로드 된 후 렌더링 된 객체에 쉽게 첨부 할 수 있습니다. 개체가 IMG 마커 경우

예를 들어, 당신이 (당신이 jQuery를 태그하지 않은 것을 알면서도, 속기에 대한 jQuery를 사용하여) 같은 것을 할 수 있습니다 :

물론
$('#map-box').on('click', 'img', function(evtObj) { 
    for (var i=0; i<polys.length; i++) { 
    if (this == polys[i].Zk) { 
     if (evtObj.ctrlKey) { 
     map.closeInfoWindow(); 
     clickCounty(labels[i]); 
     } 
     other stuff to happen.... 
    } 
    ... 
}); 

, 당신은 아마 당신의 선택에서 좀 더 섬세하게하고 싶을 것입니다, 당신은 일반적으로 전달 된 위도/경도를 잃지 만, 당신이 정말로 필요하다면 그것들에 접근 할 수 있습니다 (예를 들어, addListener 바인딩을 유지하고 좌표를 바인딩간에 사용).

관련 문제