GC Design System Map Components
Home Start to use Page templates overview Basic page Components overview Breadcrumbs Button Card Checkboxes Container Date input Date modified Details Error message Error summary Fieldset File uploader Footer Grid Header Heading Icon Input Language toggle Link Notice Pagination Radios Screenreader-only Search Select Side navigation Signature Stepper Text Textarea Theme and topic menu Top navigation Map components overview Map Layer CSS shortcuts overview Reset styles Responsive layout State Box sizing Container sizing Display Overflow Position Visibility Font Font family Font size Font style Font weight Line height Link colour Link size Link text decoration List style Text align Text colour Text overflow Text transform Word break Margin Padding Align content Align items Align self Flex Flex direction Flex grow Flex shrink Flex wrap Gap Grid columns Grid rows Justify content Justify items Justify self Order Place content Place items Place self Background colour Border colour Border radius Border style Border width Icon names Icon size Image Cursor Pointer events Transition Styles overview Design tokens Colour tokens Spacing tokens Typography tokens Contact us Get involved Find a demo

Map
<gcds-map>

A map is an interactive tool to display and query layered location information at varying scales

<gcds-map> component preview

A topographic map of Ottawa, Canada, showing the city and the region at about 1cm to 5km initial scale

Map anatomy

  1. The Layer control is an expandable list of layers. Each entry provides detailed controls for manipulating layer characteristics.
  2. The Zoom control is a pair of keyboard-accessible buttons allowing users to zoom in or out.
  3. The Reload button allows users to reset the map to its original location. It does not change the layer states.
  4. The Fullscreen button is allows the map to be viewed fullscreen. When in fullscreen mode, the button action returns the map to non-fullscreen state.
  5. The Scale bar control provides an active readout of the rough idea of the scale of the map.
  6. The Geolocation control is a 3-state control. It is either off, tracking the device location, or showing the last known device location.
  7. The Attribution control is required, and shows the license link for map layer content.
  8. The map viewport is where map layer content is rendered.
An image of the anatomy.

Design and accessibility for map

The map component supports keyboard use. Map controls follow a predefined visual and tab order. You can add or remove most controls, except the required attribution (licensing) control.

When choosing map layers (especially image-based WMS/WMTS layers), select high-contrast styling and avoid relying on colour alone to communicate meaning. Provide alternate selectable styles, if possible.

For non-visual access, provide a short text description of the map’s purpose. For topical maps, add a <map-caption>…</map-caption> as the first child of the map component.

When the map includes features, they are grouped as a single tab stop. Use the arrow keys to move between features. Features are ordered by ascending distance from the map centre.

Help us improve

Have questions or a request? Give feedback on our contact form.

Something's wrong? Raise it through GitHub with an account. You'll have access to the team's direct responses, progress made on your issue, and issues raised by others.

Give feedback Report an issue on GitHub
2026-02-06