Я хочу знать, когда событие zoom_changed Google Maps запускается специально при взаимодействии с кнопками +/-. Если я использую обычный прослушиватель событий для zoom_changed, я не могу определить, является ли это событием, созданным пользователем, или изменением масштаба, вызванным чем-то вроде fitBounds(). Ищите лучший способ сделать это.
Я пробовал следующие вещи: ни один из них не работает:
1) Посмотрел информацию о событии на zoom_changed. Кажется, что нет.
2) Добавьте слушателей для мыши и мыши, которые позволяют мне установить флаг, чтобы увидеть, находится ли пользователь в границах карты и проверить флаг на zoom_changed. Это не работает, потому что карта не рассматривает кнопки масштабирования как часть рамки карты (другими словами, зависание кнопок масштабирования запускает событие mouseout).
3) Добавьте обычный (не-gMap) прослушиватель к кнопкам масштабирования. Тем не менее, я не могу найти окончательный селектор CSS, который позволит мне захватить только кнопки.
4) Посмотрел на функцию в API gMaps, которая позволяла мне делать что-то вроде getZoomElements(), а затем я мог бы установить прослушиватели, используя это.
Странно, что я могу четко делать то, что хочу, добавив на карту пользовательский элемент управления. Кажется очень странным, что они заставили бы меня это сделать, вместо того, чтобы зацепить настройки масштабирования по умолчанию.