File size: 960 Bytes
b056584
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
"""
# ipyleaflet
Map visualization using [ipyleaflet](https://ipyleaflet.readthedocs.io/), a ipywidgets wrapper for [leaflet.js](https://leafletjs.com/)
"""
import os
import mapwidget.cesium as mapwidget

import solara

altitude = solara.reactive(400)
center = solara.reactive((37.655, -122.4175))

if os.environ.get('CESIUM_TOKEN') is None:
    token = 'YOUR-CESIUM-TOKEN'
else:
    token = os.environ.get('CESIUM_TOKEN')

@solara.component
def Page():
    with solara.Column(style={"min-width": "500px", "height": "500px"}):
        # solara components support reactive variables
        solara.SliderInt(label="Zoom level", value=altitude, min=1, max=1000)
        # using 3rd party widget library require wiring up the events manually
        # using zoom.value and zoom.set
        mapwidget.Map.element(  # type: ignore
            center=center.value,
            altitude=altitude.value,
            height='600px',
            width="100%"
        )