File size: 1,063 Bytes
3aa9705
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6c5bf1a
3aa9705
 
 
 
 
 
 
6c5bf1a
 
 
 
 
 
 
 
 
 
 
 
3aa9705
 
6c5bf1a
 
 
 
3aa9705
 
 
 
 
 
 
 
6c5bf1a
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import panel as pn
import leafmap
import panel as pn
from leafmap.toolbar import change_basemap

pn.extension("ipywidgets")

zoom = pn.rx(2)
center = pn.rx((20, 0))


class Map(leafmap.Map):
    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        # Add what you want below
        self.add_basemap("OpenTopoMap")
        change_basemap(self)


element = Map(  # type: ignore
    zoom=zoom.rx.value,
    center=center.rx.value,
    scroll_wheel_zoom=True,
    toolbar_ctrl=False,
    data_ctrl=False,
)


def set_zoom(event):
    zoom.rx.value = event["new"]

element.observe(set_zoom, names="zoom")

def set_center(event):
    center.rx.value = event["new"]

element.observe(set_center, names="center")

layout = pn.Column(
    element,
    pn.Row(
        pn.rx("Zoom: {zoom}").format(zoom=zoom),
        pn.rx("Center: {center}").format(center=center),
    ),
)

pn.template.FastListTemplate(
    site="🌎 Panel Geospatial",
    site_url="./",
    title="Leafmap",
    main=[layout],
    main_layout=None,
    accent="teal",
).servable()