Skip to content
DashboardUse case

Build a live map dashboard

A live map dashboard puts a map next to the widgets that read it: KPIs, charts, filters and a table, all linked so a selection in one updates the rest. Move the map and the KPIs recompute for what is in view. Click a bar and the map filters to that category and flashes the features. Pick a row and the map flies to it. This is the operational view, meant to be watched rather than read.

In Spatly you drop widgets onto a grid or a free canvas, bind each to a field, and wire the actions in a graph you can read, not a stack of modal tabs. Live sources carry a refresh interval, an as-of timestamp, a last-success time and a visible error state, so a widget that goes stale hatches over rather than lying. The dashboard below is a real published surface running live on this page.

Dashboards are live by default. Any single layer can freeze to a snapshot when you want a fixed figure, and the whole board themes to light, dark or a high-contrast operations wall.

Live on this page
/embed/CQhD7iR83j
Scroll to load the live embed
/embed/CQhD7iR83jlazy

World power plants, twelve linked widgets over 34,936 plants with viewport KPIs and an actions graph. This is a real published Spatly surface, not a screenshot.

HowThree steps in Spatly

How to build a live map dashboard

  1. Step 1

    Connect a source

    Upload a file or bind a URL, REST API or webhook. Set the refresh interval and map the fields; Spatly caches server-side so every viewer shares one fetch.

  2. Step 2

    Lay out the widgets

    Drag KPIs, charts, filters, a legend and a table onto the grid. Snap, align and group. Bind each widget to a field with a picker, or drop to an expression.

  3. Step 3

    Wire the actions

    Connect select, filter and extent-change to the widgets they drive in the actions graph. Publish, then embed the board or an Insight Container of it.

DataFormats it reads

Bring the data you already have

Spatly ingests it into PostGIS, samples the fields for ramps and categories, and serves GeoJSON or vector tiles depending on size. Every source keeps its refresh policy, cache and health.

REST APIGeoJSON URLWebhookFeature services (REST)
EmbedShips as one line

Embed this exact surface

Paste one script tag into any page. The map mounts where the tag sits, resizes to its content, and needs no build step.

one script tag
<script src="https://spatly.io/embed.js" data-spatly="CQhD7iR83j" data-height="720"></script>

Posts spatly:ready, spatly:resize, spatly:expand and spatly:select. Embed docs

FAQQuestions

Good to know

Does the dashboard update on its own?
Yes. Each live source has a refresh interval and a server-side cache. Widgets show an as-of stamp and hatch over when a source fails, so the board is never silently wrong.
Can widgets filter the map?
Yes. The actions graph links selections, category picks and extent changes across the map, KPIs, charts and tables.

Build a live map dashboard in Spatly.

Start from a basemap and a file, or open a template and take it apart. Every plan includes Spatly embeds, the REST API and the MCP server.

41.0082°N 28.9784°E · z 11.3 · ⟂ 0°