Maps

A map shows things you already hold — branches, installations, service partners, delivery addresses — on a base layer. It is a media type, so it has fields, a display and permissions like everything else.

Back office → Configuration → Maps for the base layers, Structure → Media types for the map type itself.

Where the points come from

Two ways, and the difference matters:

Source Behaves like
Points entered on the map item Content — you place them, they stay
A listing A query — the map shows whatever matches, now

Prefer the listing

A map fed by a listing cannot go stale. Add a branch to the records and it is on the map; close one and it is not. A map with points typed onto it is a second copy of your addresses, and second copies drift.

Geo fields

A record carries a location in a geo field — a coordinate pair, usually alongside a normal address field. The address is for people; the coordinate is for the map.

Both, not one: an address geocoded on every render is a request per point and a dependency on somebody else's service; a coordinate with no address is unreadable to the person who has to drive there.

Base layers

The base layer is the map underneath. It is configured, not fixed — which matters commercially as much as technically, because tile providers have licences and rate limits, and the right answer differs per customer.

A base layer is somebody else's service

Check the licence and the usage limits of whatever you configure. A map that works in testing and rate-limits on a launch day is a configuration problem, not a platform one.

The platform's places

Countries, regions, districts, municipalities and postal codes are shipped as system vocabularies, every term with a coordinate. A record that carries a "District" field is therefore already on the map, and a listing of municipalities filtered by region draws exactly those municipalities.

The map style has three switches for large sets of places:

Option Does
Cluster nearby markers Thousands of points become countable circles; zooming in breaks them apart
Search box A box over the map that finds a region, district, municipality or postal code as you type and flies there
Marker popup: chain The popup shows the place and its chain — municipality › district › region › country

The reference example is the Maps page of the Claudia ERP showcase site: a listing of Slovak and Czech municipalities with a region filter, a district filter narrowed by the chosen region, the search box, clustering and the chain popup — every part of it configuration.

A placed map block has the same search box switch, so a firm's own coverage map answers "which of our branches serves this postal code" by typing the code.

A map of thousands of points does not weigh the page down: above a few hundred features the page carries only the base layer and the map fetches its points once it stands, with the same filters the visitor chose.

A position works the other way round too: given coordinates, the platform names the nearest municipality and post code (within 50 km), which is how a vehicle's location becomes an address on a fleet screen or in Claudia's answer.

Attribution

The place data comes from GeoNames (geonames.org) and Google's canonical country list, both under CC BY 4.0. A page that shows it names them.

A second source for Slovakia. GeoNames does not know every Slovak code — settlement units of a town (Vysoké Tatry-Nová Polianka 059 83, Tatranská Kotlina 059 54, Banská Hodruša 966 63) carry codes only the Slovak Post's own register lists. geo_sync --country SK --supplement reads that register (posta.sk → PSČ → the ZIP with OBCE.xlsx, cached as posta-SK.zip) after GeoNames and adds the codes that are still missing: each new code takes the point and the chain of the municipality it names, so a zone, a shipment or a map treats it like any other. A code whose place no municipality term names is reported in the command's output and never invented. A code the register does not know either (ColdExpress 2026-09-04: 820 01, 919 31, 976 51) is not a Slovak postal code — check the source list.

Streets — the sixth level. The same register lists every street of the towns whose code differs street by street (Bratislava, Košice, Prešov, Žilina, Nitra, Trnava, Trenčín, Banská Bystrica and others: 10 737 streets). geo_sync --country SK --supplement loads them as the system vocabulary Streets (geo_streets): one term per street and municipality, labelled "Hlavná, Trebišov (075 01)", knowing its postal code term, its municipality and the whole chain, with the postal code's point. A street term is a plain term reference like any other level, so a form may ask for the street and the platform answers the code; a street of a town no municipality term names is reported in the command's output. The register writes municipalities its own way ("Bohdanovce n/Trnavou", "Krásnohor. Podhradie", "Trebišov 1") and GeoNames without a local name writes them without diacritics ("Nova Dedina"); the sync matches through one folded key and a district-scoped stem match, and founds a municipality from the register only when nothing matches — Žitavany, which GeoNames lacks, comes from its streets' postal code.

What a visitor sees

A map is rendered live, so it follows the same visibility rules as the records behind it: an unpublished branch is not a point, and another organization's addresses are never on your map.

On a phone

Maps scroll and zoom inside their own frame. The page never scrolls sideways — that is a rule of the platform, not a per-map decision.

Next

Tags
contentmediamaps