Вы должны проверить, как работает функция debounce.Хорошая статья Тейлора Кейса определяет ее следующим образом:
Эта функция создана для того, чтобы ограничить количество вызовов функции - события прокрутки, события перемещения мыши иСобытия нажатия клавиш являются отличными примерами событий, которые мы, возможно, захотим захватить, но они могут быть весьма обременительными, если мы фиксируем их каждый раз, когда они запускаются.
Итак, вы определяете функцию где-то в своем коде:1009 *
function debounce(fn, time) {
let timeout;
return function() {
const args = arguments;
const functionCall = () => fn.apply(this, args);
clearTimeout(timeout);
timeout = setTimeout(functionCall, time);
}
}
Тогда вы просто используете эту функцию при добавлении слушателя:
google.maps.event.addListener(myMap, 'bounds_changed', debounce(() => { /* Do something here */ }, 250));
Кажется, что 250 мс - это хорошая частота для использования здесь.