2013-09-26 2 views
3

아이콘에 마커를 만들고 첨부 된 클릭 이벤트 리스너를 마커에 추가했습니다. 그러나 클릭 이벤트가 이미 마커에 첨부되어 있는지 확인하고 그렇지 않은 경우 클릭 이벤트 리스너를 첨부하고 싶습니다.google maps api v3의 마커에 이벤트가 이미 존재하는지 확인하는 방법

// If no click event listener, then attach the listener 
if (! marker._isClickEventBound) { 
    google.maps.event.addListener(marker, 'click', function() { 
    infowindow.open(map, marker); 
    marker._isClickEventBound = true; 
    }); 
} 

같은 코드가 새로운 마커와 마커를 편집을 추가하는 동안 실행됩니다

// If no click event listener, then attach the listener 
google.maps.event.addListener(marker, 'click', function() { 
    infowindow.open(map, marker); 
}); 

그러나 나는대로 마커 오브젝트에서 사용자 지정 플래그를 확인할 수 있습니다. 플래그를 추가하는 것보다 다른 방법이 있는지 알고 싶었습니다.

답변

1

플래그를 추가하는 것이 좋습니다.

그 외에도 google.maps.event.addListener은 이벤트 객체를 반환합니다. 추가 한 모든 이벤트 개체를 추적하여 필요한 경우 마커 이벤트를 정리할 수 있습니다. ...

-1

불량 해킹은 모든 수신기를 제거하고 다시 연결하는 것입니다.

google.maps.event.clearListeners(map, 'click'); 
관련 문제