I’m not sure about “px”, but I use “go” to add multiple layers. In the example below, I add a route line, stop locations, and a vehicle location to the same map.
vehicle_fig = go.Figure()
vehicle_fig.add_trace(go.Scattermapbox(
name='Route',
lat=route_lat,
lon=route_lon,
mode='lines',
hoverinfo='none',
opacity=1,
line=go.scattermapbox.Line(
width=8,
color='#669DF6'
),
showlegend=False
))
vehicle_fig.add_trace(go.Scattermapbox(
name='Stop',
lat=stop_lat,
lon=stop_lon,
mode='markers',
marker=go.scattermapbox.Marker(
size=36,
color='#636363'
),
showlegend=False
))
vehicle_fig.add_trace(go.Scattermapbox(
name='Vehicle',
lat=lat,
lon=lon,
mode='markers',
marker=go.scattermapbox.Marker(
size=36,
color='#636363'
),
showlegend=False
))
vehicle_fig.update_layout(
autosize=True,
hovermode='closest',
margin=dict(l=0, r=0, t=0, b=0),
geo=dict(resolution=50),
mapbox=go.layout.Mapbox(
accesstoken=mapbox_access_token,
style=map_layer,
bearing=0,
center=go.layout.mapbox.Center(
lat=(max(all_lat) + min(all_lat)) / 2,
lon=(max(all_lon) + min(all_lon)) / 2,
),
pitch=0,
zoom=calc_zoom(min(all_lat), max(all_lat), min(all_lon), max(all_lon))
),
dragmode=False
)