---
title: "How the layer panel works in MangoMap"
description: "See how layers, datasets, and folders relate, and how the saved eye in the layer panel differs from the session-only eye in the live map legend."
sidebar:
  label: "How the layer panel works"
---

This page explains the layer panel, including layer and folder behavior, saved and session visibility, and the location of the default basemap selector.

## Layers, datasets, and maps

A **layer** is a dataset placed on a specific map, carrying its own per-map style, popup, format, and visibility settings. The **dataset** is the shared, account-level copy of the data; one dataset can power layers on many maps, and removing a layer never deletes the dataset. For the full relationship — what belongs to the dataset versus the layer, and why — see [Datasets and layers in MangoMap](/docs/importing-data/concepts-datasets-and-layers).

The layer panel is where you manage the layers on the current map. It doesn't manage datasets directly — for that, see the data portal. To add a dataset to your account that you don't already have, [import it](/docs/managing-layers/add-layer-by-import); the same flow lets you add the new dataset as a layer on the current map at the same time.

## Two visibility controls

MangoMap has two visibility controls, and they work in different ways:

- **Layer panel visibility** (the eye icon on each layer's row in the layer panel): the **persistent default**. Toggling this saves to the layer immediately — the next viewer who opens the map sees the layer in whichever state you saved.
- **Legend visibility** (the eye icon on each layer's row in the legend on the live map): a **per-session override**. Toggling this changes what the current viewer sees in their session only. It doesn't save and doesn't affect what other viewers see when they open the map.

The same principle applies to folders: toggling a folder's eye in the **layer panel** saves the change for the folder and every layer inside it; toggling a folder's eye in the **legend** is per-session.

When you set up a map for sharing, the layer panel is your tool. The legend is for viewers exploring the live map.

## How folders work

Folders organise layers into expandable, collapsible containers. They have two roles:

- **Cosmetic**: a long list of layers is easier to scan when grouped.
- **Functional**: a folder's visibility eye toggles every child layer at once. Hide a folder, hide all the layers in it.

Folders can be created, renamed, and deleted from the layer panel. Layers can be moved between folders by drag-and-drop. When you delete a folder, MangoMap asks whether to delete the layers inside or move them out to the root level first.

Folders can contain layers but not other folders. Drag-and-drop in the layer panel won't let you drop a folder into another folder.

## How basemap configuration works

A **basemap** is the background map underneath your data layers — streets, satellite imagery, terrain, or a solid colour. Every map has one basemap.

The layer panel has a `Default basemap` section at the bottom. Picking a basemap there saves it as the map's default — the next viewer who opens the map sees this basemap. For supported basemaps, the `Labels`, `Roads`, `POIs`, and `Boundaries` chips control which overlays remain visible and save the same way.

If the map's `Map Extensions` allow viewers to switch basemaps, viewers see a basemap chooser in the map toolbar that lets them pick a different basemap for their session. That toolbar chooser is per-session and doesn't save — same model as the legend's eye for layers.

## How draw order works

Layers in the panel render top-to-bottom on the map: the layer at the top of the panel draws on top of every layer below. This includes raster and WMS layers. Drag-and-drop reorders both the panel and the map's draw order. Labels are the one exception: every layer's labels draw above all layers.

For most maps the default order works fine, but layers with overlapping geometry (a roads layer on top of a parks layer, or a raster image under a points layer) need explicit ordering. Move the layer that should appear "in front" higher in the panel.

## When changes persist

Where you make a change decides who sees it. The layer panel saves for every viewer; the legend and the toolbar basemap chooser change only the current session:

<!-- diagram:saved-and-session-controls -->
<svg class="dark:hidden" style="width: 100%; height: auto" viewBox="0 0 640 272" xmlns="http://www.w3.org/2000/svg" role="img" aria-labelledby="saved-and-session-controls-inline-title saved-and-session-controls-inline-desc">
  <title id="saved-and-session-controls-inline-title">Saved for everyone or this session only</title>
  <desc id="saved-and-session-controls-inline-desc">Swimlane: the layer panel eye and the Default basemap save to the map, so each viewer opens the map in that state; the legend eye and the toolbar basemap chooser change only the current session, and nothing they change is saved.</desc>
  <defs>
    <marker id="saved-and-session-controls-inline-arrow" markerWidth="8" markerHeight="6" refX="7" refY="3" orient="auto"><polygon points="0 0, 8 3, 0 6" fill="#525252"/></marker>
    <marker id="saved-and-session-controls-inline-arrow-accent" markerWidth="8" markerHeight="6" refX="7" refY="3" orient="auto"><polygon points="0 0, 8 3, 0 6" fill="#c4360c"/></marker>
  </defs>
  <rect width="100%" height="100%" fill="#f5f5f5"/>
  <line x1="16" y1="16" x2="624" y2="16" stroke="rgba(23,23,23,0.32)" stroke-width="1"/><line x1="16" y1="96" x2="624" y2="96" stroke="rgba(23,23,23,0.12)" stroke-width="1"/><line x1="16" y1="176" x2="624" y2="176" stroke="rgba(23,23,23,0.12)" stroke-width="1"/><line x1="16" y1="256" x2="624" y2="256" stroke="rgba(23,23,23,0.32)" stroke-width="1"/><line x1="112" y1="16" x2="112" y2="256" stroke="rgba(23,23,23,0.12)" stroke-width="1"/><text x="24" y="60" fill="#525252" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="start">EDITOR</text><text x="24" y="140" fill="#525252" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="start">MANGOMAP</text><text x="24" y="220" fill="#525252" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="start">EACH VIEWER</text>
  <path d="M204 80 L204 110" fill="none" stroke="#c4360c" stroke-width="1.4" marker-end="url(#saved-and-session-controls-inline-arrow-accent)"/>
  <path d="M204 160 L204 190" fill="none" stroke="#525252" stroke-width="1.2" marker-end="url(#saved-and-session-controls-inline-arrow)"/>
  <path d="M280 216 L302 216" fill="none" stroke="#525252" stroke-width="1.2" marker-end="url(#saved-and-session-controls-inline-arrow)"/>
  <path d="M456 216 L478 216" fill="none" stroke="#525252" stroke-width="1.2" marker-end="url(#saved-and-session-controls-inline-arrow)"/>
  <rect x="212" y="87" width="52" height="16" rx="2" fill="#f5f5f5"/><text x="238" y="99" fill="#525252" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">SAVES</text>
  <rect x="212" y="167" width="52" height="16" rx="2" fill="#f5f5f5"/><text x="238" y="179" fill="#525252" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">LOADS</text>
  <rect x="128" y="32" width="152" height="48" rx="6" fill="rgba(196,54,12,0.08)" stroke="#c4360c" stroke-width="1.4"/><text x="204" y="53" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Layer panel eye</text><text x="204" y="71" fill="#525252" font-size="12" font-family="inherit" text-anchor="middle">or Default basemap</text>
  <rect x="128" y="112" width="152" height="48" rx="6" fill="rgba(23,23,23,0.05)" stroke="#525252" stroke-width="1"/><text x="204" y="133" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Saved on the map</text><text x="204" y="151" fill="#525252" font-size="12" font-family="inherit" text-anchor="middle">visibility, basemap</text>
  <rect x="128" y="192" width="152" height="48" rx="6" fill="#ffffff" stroke="#171717" stroke-width="1"/><text x="204" y="213" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Opens the map</text><text x="204" y="231" fill="#525252" font-size="12" font-family="inherit" text-anchor="middle">in the saved state</text>
  <rect x="304" y="192" width="152" height="48" rx="6" fill="#ffffff" stroke="#171717" stroke-width="1"/><text x="380" y="213" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Legend eye</text><text x="380" y="231" fill="#525252" font-size="12" font-family="inherit" text-anchor="middle">or toolbar basemap</text>
  <rect x="480" y="192" width="144" height="48" rx="20" fill="rgba(23,23,23,0.04)" stroke="rgba(23,23,23,0.32)" stroke-width="1"/><text x="552" y="213" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Session only</text><text x="552" y="231" fill="#525252" font-size="12" font-family="inherit" text-anchor="middle">resets on reload</text>
</svg>
<svg class="hidden dark:block" style="width: 100%; height: auto" viewBox="0 0 640 272" xmlns="http://www.w3.org/2000/svg" role="img" aria-labelledby="saved-and-session-controls-inline-dark-title saved-and-session-controls-inline-dark-desc">
  <title id="saved-and-session-controls-inline-dark-title">Saved for everyone or this session only</title>
  <desc id="saved-and-session-controls-inline-dark-desc">Swimlane: the layer panel eye and the Default basemap save to the map, so each viewer opens the map in that state; the legend eye and the toolbar basemap chooser change only the current session, and nothing they change is saved.</desc>
  <defs>
    <marker id="saved-and-session-controls-inline-dark-arrow" markerWidth="8" markerHeight="6" refX="7" refY="3" orient="auto"><polygon points="0 0, 8 3, 0 6" fill="#a3a3a3"/></marker>
    <marker id="saved-and-session-controls-inline-dark-arrow-accent" markerWidth="8" markerHeight="6" refX="7" refY="3" orient="auto"><polygon points="0 0, 8 3, 0 6" fill="#ff7a4d"/></marker>
  </defs>
  <rect width="100%" height="100%" fill="#141414"/>
  <line x1="16" y1="16" x2="624" y2="16" stroke="rgba(242,242,242,0.34)" stroke-width="1"/><line x1="16" y1="96" x2="624" y2="96" stroke="rgba(242,242,242,0.14)" stroke-width="1"/><line x1="16" y1="176" x2="624" y2="176" stroke="rgba(242,242,242,0.14)" stroke-width="1"/><line x1="16" y1="256" x2="624" y2="256" stroke="rgba(242,242,242,0.34)" stroke-width="1"/><line x1="112" y1="16" x2="112" y2="256" stroke="rgba(242,242,242,0.14)" stroke-width="1"/><text x="24" y="60" fill="#a3a3a3" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="start">EDITOR</text><text x="24" y="140" fill="#a3a3a3" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="start">MANGOMAP</text><text x="24" y="220" fill="#a3a3a3" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="start">EACH VIEWER</text>
  <path d="M204 80 L204 110" fill="none" stroke="#ff7a4d" stroke-width="1.4" marker-end="url(#saved-and-session-controls-inline-dark-arrow-accent)"/>
  <path d="M204 160 L204 190" fill="none" stroke="#a3a3a3" stroke-width="1.2" marker-end="url(#saved-and-session-controls-inline-dark-arrow)"/>
  <path d="M280 216 L302 216" fill="none" stroke="#a3a3a3" stroke-width="1.2" marker-end="url(#saved-and-session-controls-inline-dark-arrow)"/>
  <path d="M456 216 L478 216" fill="none" stroke="#a3a3a3" stroke-width="1.2" marker-end="url(#saved-and-session-controls-inline-dark-arrow)"/>
  <rect x="212" y="87" width="52" height="16" rx="2" fill="#141414"/><text x="238" y="99" fill="#a3a3a3" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">SAVES</text>
  <rect x="212" y="167" width="52" height="16" rx="2" fill="#141414"/><text x="238" y="179" fill="#a3a3a3" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">LOADS</text>
  <rect x="128" y="32" width="152" height="48" rx="6" fill="rgba(255,122,77,0.10)" stroke="#ff7a4d" stroke-width="1.4"/><text x="204" y="53" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Layer panel eye</text><text x="204" y="71" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="middle">or Default basemap</text>
  <rect x="128" y="112" width="152" height="48" rx="6" fill="rgba(242,242,242,0.06)" stroke="#a3a3a3" stroke-width="1"/><text x="204" y="133" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Saved on the map</text><text x="204" y="151" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="middle">visibility, basemap</text>
  <rect x="128" y="192" width="152" height="48" rx="6" fill="#1c1c1c" stroke="#f2f2f2" stroke-width="1"/><text x="204" y="213" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Opens the map</text><text x="204" y="231" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="middle">in the saved state</text>
  <rect x="304" y="192" width="152" height="48" rx="6" fill="#1c1c1c" stroke="#f2f2f2" stroke-width="1"/><text x="380" y="213" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Legend eye</text><text x="380" y="231" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="middle">or toolbar basemap</text>
  <rect x="480" y="192" width="144" height="48" rx="20" fill="rgba(242,242,242,0.05)" stroke="rgba(242,242,242,0.34)" stroke-width="1"/><text x="552" y="213" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Session only</text><text x="552" y="231" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="middle">resets on reload</text>
</svg>
<!-- /diagram:saved-and-session-controls -->

Most changes in the layer panel save as soon as you make them.

## Common confusions

**"I hid a layer in the legend but viewers still see it."** The legend eye is per-session. Toggle the layer's eye in the **layer panel** (the panel where you also see the `Add Layer` button) to save the change for everyone.

**"I picked a satellite basemap from the toolbar but it reverted to streets next time I opened the map."** The toolbar basemap chooser is per-session. Open the layer panel and pick the basemap from the `Default basemap` section at the bottom to save it.

**"Why can't I see the basemap chooser in the toolbar?"** It's hidden when the layer panel is open (to avoid two basemap controls fighting). Close the layer panel and the toolbar chooser comes back.

## Related

- [Layer panel controls](/docs/managing-layers/layer-panel-reference)
- [Available basemaps](/docs/managing-layers/available-basemaps-reference)
- [How to set which layers show when the map first loads](/docs/managing-layers/set-default-layer-visibility)
- [How to set the default basemap](/docs/managing-layers/set-default-basemap)
- [How to organise layers into folders](/docs/managing-layers/organise-layers-into-folders)
