solara-demo / pages /04_cesium.py
giswqs's picture
Duplicate from giswqs/solara-geospatial
d1c34d9
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%"
)