[javascript] Google Maps API v3 : 이벤트 리스너를 제거하는 방법?

Google Maps API v3 에서 ‘bounds_changed’이벤트 리스너를 제거하려면 어떻게해야 합니까?

google.maps.event.removeListener(_???_);    



답변

일반적으로 Google Maps API 문서에서 이러한 질문에 대한 답변을 찾을 수 있습니다.

Andrew가 말했듯이 addListener는 나중에 리스너를 제거하는 데 사용할 수있는 핸들을 반환합니다. 이는 단일 이벤트에 많은 리스너가있을 수 있고이를 제거하려면 연결된 각 리스너에 대한 참조를 저장해야하기 때문입니다.

동시에 모든 리스너를 제거하는 함수도 있습니다.

clearListeners(instance:Object, eventName:string);
//In your case:
google.maps.event.clearListeners(map, 'bounds_changed');

여기에 대해 읽을 수 있는 Google Maps API 참조 가 있습니다.


답변

addListener는 나중에 removeListener에 전달할 수있는 핸들을 반환합니다.

var listenerHandle = google.maps.event.addListener(map, 'bounds_changed', function() {

google.maps.event.removeListener(listenerHandle);


답변

이것은 현재 릴리스에서 작동하는 것 같습니다.

var listenerHandle = google.maps.event.addListener(map, 'bounds_changed', function() {
    // Handler code.
});
listenerHandle.remove();


답변

어떻게 든 리스너 객체를 보유 할 수 없다면 리스너를 직접 제거 할 수 있습니다. google.maps.event.clearListeners(objectListened, 'event');

전의: google.maps.event.clearListeners(map, 'bounds_changed');


답변