Hey @luquezsantiago
In short, I think the answer is YES, although I’ve not tested this for scattermapbox.
I’m using choroplethmapbox which should be pretty similar, and I can return a whole bunch of attributes about the current state of the map. I achieved it using a callback. I’m not sure if you can trigger the callback from the mousewheel ‘event’, but you probably can.
First ensure you import dash dependencies:
from dash.dependencies import Input, Output, State
To return map state variables for a given call back, you can:
Add your scattermapbox figure as a State to the given call-back declaration e.g.:
@app.callback(Output(), Input(blah),
State(“yourscattermapboxid”, “figure”))
def your_callback(blah, state)
Then inside the callback code itself you can access a ton of parameters about the figure state (including zoom) from within the variable you have ascribed to the figure state. This is a dictionary so what I usually do is just print it out to see what’s in it.
From your callback:
print(state)
Then find out the zoom level, and you’re sorted. For me, it looks something like this:
zoom = state[“layout”][“mapbox”][“zoom”]
You will still need to find a way to trigger the callback if you want to grab the zoom level the moment the user moves the mouse, but otherwise, you can grab it anytime a given callback is run using the approach above.
Hope that helps ![:slight_smile: :slight_smile:](https://emoji.discourse-cdn.com/twitter/slight_smile.png?v=12)