In [6]:
from ipyleaflet import *
from sidecar import Sidecar
In [10]:
sc = Sidecar(title='Strava map')
m = Map(center=(52, 10), zoom=8, basemap=basemaps.CartoDB.DarkMatter
)
with sc:
display(m)
In [11]:
strata_all = basemap_to_tiles(basemaps.Strava.All)
m.add_layer(strata_all)
In [4]:
# mouse interaction handling
from ipywidgets import Label
label = Label()
display(label)
def handle_interaction(**kwargs):
if kwargs.get('type') == 'mousemove':
label.value = str(kwargs.get('coordinates'))
m.on_interaction(handle_interaction)
In [5]:
strata_water = basemap_to_tiles(basemaps.Strava.Water)
m.substitute_layer(strata_all, strata_water)
In [7]:
# Adding an overlay layer
import json
with open('./europe_110.geo.json') as f:
data = json.load(f)
for feature in data['features']:
feature['properties']['style'] = {
'color': 'grey',
'weight': 1,
'fillColor': 'grey',
'fillOpacity': 0.5
}
geo = GeoJSON(data=data, hover_style={'fillColor': 'red'}, name='Countries')
m.add_layer(geo)
In [8]:
# Adding the control
m.add_control(LayersControl())
In [9]:
m.substitute_layer(strata_water, strata_all)
In [ ]: