سؤال

كيف أقوم بإزالة مستمع الحدث "bounds_changed" في خرائط Google API V3?

google.maps.event.removeListener(_???_);    
هل كانت مفيدة؟

المحلول

عادةً ما يمكنك العثور على إجابات على مثل هذه الأسئلة في وثائق API خرائط Google.

كما قال أندرو ، يقوم AddListener بإرجاع مقبض يمكنك استخدامه لاحقًا لإزالة المستمع. ذلك لأن حدث واحد يمكن أن يحتوي على العديد من المستمعين وإزالتها ، يجب عليك حفظ إشارة إلى كل من المستمعين المرفقين.

هناك أيضًا وظيفة تزيل جميع المستمعين في نفس الوقت:

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

إليك مرجع API لـ Google Maps Maps حيث يمكنك أن تقرأ عنها.

نصائح أخرى

تقوم AddListener بإرجاع مقبض يمكنك تمريره لاحقًا إلى الإزالة:

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');

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top