map.flyTo(...) doesn't fly to given centroid when triggered inside map.on('click') with map.setMinZoom & map.setMaxZoom
I want to start by appreciating this community and the hard work put into mapbox-gl-js. 🙌
mapbox-gl-js version: ^3.2.0
browser: Chrome Version 122.0.6261.128
Steps to Trigger Behavior
- set
minZoomandmaxZoomto map - add image
- add click event to map using
map.on('click', layerId, clickHandler) - in
clickHandlersetMinZoom&maxZoomto different values, thenflyTocentroid with a zoom level that's between the zoom values you just set.
You'll notice it doesn't fly to the given centroid. Kindly note that this behavior isn't consistent; as sometimes it might work, however most of the time it doesn't. In the demo provided, it takes multiple clicks to trigger the bug, but in my app, the bug is the default behavior. I should also mention that it works perfectly fine when flyTo isn't triggered by map.on('click'). Meaning, having a button with a classic onClick function that will execute flyTo (same exact function used in map.on('click)), everything works perfectly. I should also mention that this behavior only surfaced after updating mapbox-gl version to 3.2.0, the previous version I had 2.1 was working perfectly fine.
Link to Demonstration
Expected Behavior
flyTo given centroid with given zoom level
Actual Behavior
feels like flyTo stops at a random centroid with a random zoom level