How Icon Map Lite works

Every Icon Map Lite map is built from three parts: a background map, data layers that draw the rows of your report, and reference layers that add context. Everything the map draws is inside the visual or stored in the report. Once you know how a row of data finds its layer, the rest of the visual falls into place.

The three parts of a map: data layers on top, reference layers in the middle and the background map underneath
A map is a stack: the background map at the bottom, with reference layers and data layers drawn over it

The three parts of a map

Part What it is Where it comes from
Background map The map underneath everything. A world map in seven themes, or none at all so the report page shows through. Built into the visual. For street-level detail of one area, upload a custom basemap (an .imbase file). See The background map and Custom basemaps (.imbase).
Data layers Your report data, drawn on the map. Each row of data becomes one thing on the map: a circle, an image, a line, a shape, a 3D column, or a point counted into a heatmap or cell. The fields you add to the visual. See Data layers overview.
Reference layers Context that is not joined to your data: boundaries or other shapes from a file, and day and night shading. A file you upload into the report, up to five of them. See Reference layers overview.

Data layers respond to the report. Selecting items on them filters the other visuals on the page, they show tooltips, and they follow slicers. Reference layers do not change with your data.

Layers are drawn from the bottom up, and each layer has a position in that order. You can change it with each layer's Z-Index setting, for example to draw a boundary file above your circles.

Nothing is downloaded

Icon Map Lite makes no network requests. The world map, its fonts and every icon are inside the visual. Files you upload, such as a boundary file or a custom basemap, are stored in the report and travel with it. This is why the map has a fixed amount of detail: the built-in world map covers world to country scale, and a custom basemap covers one area. See Lite, Pro and Slicer.

Fields: how data reaches the map

You give Icon Map Lite data by adding fields to its field wells in the Build pane, as with any Power BI visual. The field wells are:

Field well Used for
* ID (required) A value that identifies each row. Every layer needs it.
Longitude (X), Latitude (Y) Where a point is, or where a line starts.
Destination Longitude, Destination Latitude Where a line ends.
Circle Size The size of each circle.
Cluster Group The category used to split clusters of circles or images.
Column Height The height of each 3D column.
Cell (H3/S2/A5/Geohash) Weight The value added up in each cell.
Heatmap Weight How much each point adds to a heatmap.
Image / WKT / GeoJSON An image for the Images layer, held in your data, or shape geometry as text for Shapes (from data).
Feature Reference The code or name that joins a row to a shape in an uploaded file or in the built-in boundaries.
Tooltips The fields listed in the tooltip.

The Fields reference describes each one in full.

One row is one thing on the map

Power BI groups your data by the field in * ID (required) and sends Icon Map Lite one row for each ID value. Each row becomes one item on the map. Two consequences follow:

  • The ID must be unique for each thing you want to draw. If two stores share an ID, they become one row and one circle.
  • Without an ID, Power BI sends no rows and nothing can be drawn.

Because the other field wells hold summarized values, set Longitude (X) and Latitude (Y) to Average (select the arrow next to the field in the Build pane). With a unique ID, the average of one row is the row's own value.

By default Power BI sends up to 30,000 rows. You can raise this. See Data rows and limits.

A row picks its layer by the fields it fills in

There is no setting that says "draw this row as a circle". Instead, each row is drawn by the layer whose fields it fills in, as long as it leaves the fields that belong to other layers empty.

Four example rows and the layer that draws each one
Each row is drawn by the layer whose fields it fills in

In the example:

  • Store A has a longitude, a latitude and a circle size, and nothing else. It is a circle.
  • Route B has an origin and a destination. It is a line.
  • Region C has only a feature reference. It is joined to a shape from a file or from the built-in boundaries.
  • Row D fills in the fields of a circle and also a feature reference. Circles skip it, because a feature reference marks a row as a shape. Shapes (from files) skip it, because it has coordinates. It is not drawn.

Three rules cover most cases:

  1. Fill in what the layer needs. A circle needs * ID (required), Longitude (X), Latitude (Y) and Circle Size. A line needs the two destination fields instead of a size. Choose a layer type lists the fields for every layer.
  2. Leave the other layers' fields empty on that row. Empty means the field is not in the visual, or the row's value is blank. A blank text cell counts as empty, the same as a BLANK() returned by a measure.
  3. Turn the layer on. A row is only drawn if its layer is switched on. On a new map, Circles is on and the other data layers are off.

This is also how one map shows several layer types at once: keep the rows in one table and fill in different fields on different rows. Combine several layers in one map explains the patterns.

When nothing is drawn

While you edit a report, Icon Map Lite tells you when your rows do not reach any layer. A panel titled What kind of map are you making? appears over the map and shows which fields each layer type needs and which you already have. See Choose a layer type.

Where the settings are

All settings are in the Format pane. Each part of the map has its own card:

Card What it holds
Background Layer The background map theme, its detail, a custom basemap, light and sky.
Reference Layers Uploaded files and the day and night shading.
Data Layers A switch for each data layer, then its configuration and formatting.
Labels, Legend Data labels and the legend.
Selection How selecting on the map filters the report, and how selected items look.
User Interface, Map The buttons on the map, tooltips, zoom and the default view.

See Format pane map for the full list.

Values from your data: conditional formatting

Many settings have an fx button in the Format pane. Use it to take the value from a field or measure, or from a rule or color scale, so that each row gets its own color, size, label text or visibility. This is how you color circles by a measure or show a different badge for each category. See Conditional formatting.

How a report reader uses the map

Readers can pan, zoom, tilt and rotate the map, switch to a globe, and hover for tooltips. Selecting items on the map filters the other visuals on the page, the way a slicer does: the filter stays in place when the reader selects something in another visual, and bookmarks save it. Depending on the controls you turn on, readers can also select by lasso or by radius, and the map can filter other visuals to the area it shows. Selections made in other visuals filter the rows the map draws.

Readers can also reach the map's data with the keyboard: Tab to the map, move between items with the arrow keys, and press Enter to select.

See Select and filter with the map, Filter by the map's location and Map controls.