خرائط Google API V3: كيفية إزالة مستمع حدث؟
-
20-09-2019 - |
سؤال
كيف أقوم بإزالة مستمع الحدث "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');