Skip to main content

Map

Type: map

Live UDF map.

Supports children: No

Interactive Mapbox map that renders live UDF layers. UDF names must use `{{double-brace}}` syntax. A UDF that returns a GeoDataFrame renders by default. A plain DataFrame renders only with a matching vizConfig — e.g. a DataFrame with an H3 `hex` column rendered via a `hexLayer` (H3HexagonLayer). A plain DataFrame with only lat/lon columns won't render here; use the `fused-map` widget's geojson layer for that.

Example — points

{
"type": "map",
"props": {
"centerLng": -122.43,
"centerLat": 37.76,
"zoom": 11,
"mapStyle": "dark",
"layers": ["{{my_udf}}"]
}
}

Example — polygons

{
"type": "map",
"props": {
"centerLng": -74,
"centerLat": 40.7,
"zoom": 10,
"mapStyle": "dark",
"sendParam": true,
"autoFit": true,
"layers": [
{
"udf": "{{my_udf}}"
}
]
}
}

Example — tile layer

{
"type": "map",
"props": {
"layers": [
{
"udf": "{{my_udf}}",
"tile": true,
"vizConfig": {
"tileLayer": {
"@@type": "TileLayer",
"minZoom": 0,
"maxZoom": 19,
"tileSize": 256
},
"vectorLayer": {
"@@type": "GeoJsonLayer",
"stroked": true,
"filled": false,
"lineWidthMinPixels": 1
}
}
}
]
}
}

Example — H3 hexagons (plain DataFrame with a `hex` column)

{
"type": "map",
"props": {
"layers": [
{
"udf": "{{my_h3_udf}}",
"vizConfig": {
"hexLayer": {
"@@type": "H3HexagonLayer",
"stroked": true,
"filled": true,
"pickable": true,
"extruded": false,
"opacity": 1,
"coverage": 0.9,
"lineWidthMinPixels": 5,
"getHexagon": "@@=properties.hex",
"getFillColor": [255, 165, 0, 180],
"getLineColor": [200, 200, 200, 255]
}
}
}
]
}
}

Every widget is defined as { "type": "map", "props": { ... } }. The properties below describe the props object.

Props

Loading ....

Raw schema

Download the full schema file: /widget-schema/map.json