Dashboards

Maps

Two ship: a vector map for regions you shade, and a street map for points on real geography. They are not interchangeable.

Two, and the choice is usually obvious

RouteWhat it isUse for
/vector-mapsAn SVG world map. Offline, no tilesShading countries or regions by a value
/mapsA real basemap, MapLibre, fetches tilesPlotting actual coordinates on real geography

The vector map is the cheap one

It is an SVG. No network, no key, no attribution, and it renders identically offline. If the requirement is “customers by country”, this is the answer and the street map is not.

The street map has running costs

/maps uses MapLibre and fetches tiles. That means a tile source, which usually means a provider, a key and a bill that grows with your traffic. None of it is supplied.

⚠️ Check the licence on your tiles

Providers set their own terms on attribution, caching and commercial use, and they differ. That is a decision for your application rather than something a theme can make for you.

It never finishes loading, by design

A tile map keeps requesting as the view settles, so its network never goes idle. That is normal, and it matters in one place: any tooling that waits for a quiet network on this screen waits forever. Wait for load instead.

When it did not work

The street map is a grey rectangle

Cause: no tile source, or a key that is missing or rejected. Fix: configure a source. Verify: geography appears.

The vector map is blank

Cause:your region keys do not match the map's. It shades what it can match and leaves the rest unshaded. Fix: align the codes.