0

This SO question contains an explanation for how to dynamically get the extents of a Leaflet map.

I wonder if there is a way of doing this with dash-leaflet, so I can get this in a callback every time a map updates.

prl900
  • 4,029
  • 4
  • 33
  • 40

1 Answers1

3

You can get this information via the bounds property of the map object. Here is a small example,

import json
import dash_leaflet as dl
from dash import html, Input, Output, Dash

app = Dash()
app.layout = html.Div([
    dl.Map(dl.TileLayer(), style={'width': '1000px', 'height': '500px'}, id="map"),
    html.Div(id="log")
])

@app.callback(Output("log", "children"), Input("map", "bounds"))
def log_bounds(bounds):
    return json.dumps(bounds)

if __name__ == '__main__':
    app.run_server()

Example app

emher
  • 5,634
  • 1
  • 21
  • 32