Skip to content

Commit

Permalink
Add layer order example
Browse files Browse the repository at this point in the history
  • Loading branch information
Stefan Kuethe committed May 24, 2024
1 parent 27d9c71 commit cb51765
Showing 1 changed file with 35 additions and 0 deletions.
35 changes: 35 additions & 0 deletions docs/examples/layer_order/app.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
import requests as req
from maplibre import Layer, LayerType, Map, MapOptions, render_maplibregl
from maplibre.basemaps import Carto, construct_carto_basemap_url
from maplibre.sources import GeoJSONSource
from shiny.express import input, render, ui

style = req.get(construct_carto_basemap_url(Carto.VOYAGER)).json()


symbol_ids = [layer["id"] for layer in style["layers"] if layer["type"] == "symbol"]
# print(symbol_ids)

urban_areas = GeoJSONSource(
data="https://d2ad6b4ur7yvpq.cloudfront.net/naturalearth-3.3.0/ne_50m_urban_areas.geojson"
)

m = Map(
MapOptions(style=style, center=(-88.13734351262877, 35.137451890638886), zoom=4)
)
m.add_layer(
Layer(
id="urban-areas-fill",
type=LayerType.FILL,
source=urban_areas,
paint={"fill-color": "#f08", "fill-opacity": 1.0},
),
before_id=symbol_ids[0],
)
for symbol_id in symbol_ids:
m.set_paint_property(symbol_id, "text-color", "darkblue")


@render_maplibregl
def render_map():
return m

0 comments on commit cb51765

Please sign in to comment.