web-dev-qa-db-ja.com

Google Maps API v3:イベントリスナーを削除する方法

Google Maps API v で 'bounds_changed'イベントリスナーを削除するにはどうすればよいですか?

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

通常、このような質問に対する回答は、Google Maps APIドキュメントで見つけることができます。

Andrewが言ったように、addListenerは、後でリスナーを削除するために使用できるハンドルを返します。これは、単一のイベントに多数のリスナーを含めることができ、それらを削除するには、接続されている各リスナーへの参照を保存する必要があるためです。

すべてのリスナーを同時に削除する関数もあります。

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

Google Maps APIリファレンスはこちらです ここで読むことができます。

148
Maiku Mori

addListenerは、後でremoveListenerに渡すことができるハンドルを返します。

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

google.maps.event.removeListener(listenerHandle);
88
Andrew

これは現在のリリースで機能するようです。

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

何らかの方法でリスナーオブジェクトを保持できなかった場合は、google.maps.event.clearListeners(objectListened, 'event');としてリスナーを直接削除できます。

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