I’d like to know if the zoom is changed because user change it from mouse/google zoom tool (top left of the map, the zoomControl) or just if change after some functions of google (like directionsDisplay.setDirections, or bounds) :
google.maps.event.addListener(map, 'zoom_changed', function () {
if (CONDITION) {
}
});
Is it possible?
You can detect if the zoom has changed based on an action your program has taken by setting a global flag when it performs an action that changes the zoom, clear it when that action is complete (either in the zoom_changed event handler or the idle event handler).
If your flag isn’t set, the zoom was caused by a user action.