---
title: "geomap"
description: "Fields and display options of a `geomap` panel."
---

> Documentation Index
> Fetch the complete documentation index at: https://slashobserve.com/llms.txt
> Use this file to discover all available pages before exploring further.

# geomap

## Example

```json
{
  "id": "p_geo",
  "type": "geomap",
  "title": "Regions",
  "gridPos": {
    "x": 0,
    "y": 0,
    "w": 12,
    "h": 10
  },
  "datasource": "prom",
  "queries": [
    {
      "ref": "A",
      "query": "sum by (lat, lon) (up)"
    }
  ],
  "display": {
    "view": "europe",
    "zoom": 4,
    "minZoom": 2,
    "maxZoom": 10,
    "fitPadding": 10,
    "basemap": "carto",
    "basemapTheme": "dark",
    "basemapLabels": true,
    "basemapOpacity": 0.8,
    "showScale": true,
    "showMeasure": false,
    "tooltip": "details",
    "layers": [
      {
        "type": "heatmap",
        "name": "Load",
        "query": "A",
        "location": "coords",
        "latField": "lat",
        "lonField": "lon",
        "radius": 12,
        "blur": 8
      },
      {
        "type": "geojson",
        "name": "Countries",
        "source": "countries",
        "rules": [
          {
            "property": "name",
            "operation": "eq",
            "value": "France",
            "color": "warning",
            "opacity": 0.5
          }
        ]
      }
    ]
  }
}
```

From [`spec/examples/decision9-features.json`](https://github.com/slashobserve/slashobserve/blob/main/spec/examples/decision9-features.json).

## Fields

| Field | Type | Description |
| --- | --- | --- |
| `id` (required) | `string` | Stable across versions; comments anchor to it. |
| `title` (required) | `string` |   |
| `description` | `string` |   |
| `gridPos` (required) | `gridPos` | Position on the 24-column grid; x + w must not exceed 24. |
| `type` (required) | `"timeseries"`, `"stat"`, `"gauge"`, `"bargauge"`, `"table"`, `"piechart"`, `"heatmap"`, `"histogram"`, `"state-timeline"`, `"logs"`, `"barchart"`, `"status-history"`, `"trend"`, `"xychart"`, `"candlestick"`, `"nodeGraph"`, `"traces"`, `"flamegraph"`, `"geomap"`, `"canvas"`, `"alertlist"` |   |
| `datasource` | `datasourceRef` | A configured datasource uid, or ${name} naming a datasource variable declared in variables (before this variable, when used by one); queries then run on the datasource selected in that variable, and macros follow its datasourceType. |
| `queries` (required) | array of `panelQuery` or `expressionQuery` or `dashboardQuery` | At most 26 items. |
| `overrides` | array of [`override`](/docs/reference/observespec/overrides-and-mappings/#overrides) | At most 50 items. |
| `transform` | array of [`transform`](/docs/reference/observespec/transforms/) | At most 20 items. |
| `repeat` | `variableName` | Referenced in queries as $name, ${name} or ${name:format}. |
| `repeatDirection` | `"h"`, `"v"` |   |
| `maxPerRow` | `integer` | Between 1 and 24. |
| `timeFrom` | `string` |   |
| `timeShift` | `string` |   |
| `timezone` | `string` | browser, utc or an IANA zone such as Asia/Kolkata. The times this panel draws are shown in this zone instead of the dashboard's. |
| `hideTimeOverride` | `boolean` | Do not show the time override note (from timeFrom and timeShift) in the panel header. The override still applies to the queries. Absent means shown. |
| `interval` | `intervalRef` | A minimum step such as 30s, or ${name} naming an interval variable; queries then use the step selected in that variable. |
| `maxDataPoints` | `integer` | Between 10 and 11000. |
| `transparent` | `boolean` |   |
| `titleHidden` | `boolean` | Keep the title as the panel's name for menus and screen readers but do not show it. Absent means shown. |

Every data panel also takes the [field options](/docs/reference/observespec/field-options/).

## Display options

| Field | Values | Description |
| --- | --- | --- |
| `view` | `"fit"`, `"world"`, `"coords"`, `"north-america"`, `"south-america"`, `"europe"`, `"africa"`, `"west-asia"`, `"south-asia"`, `"south-east-asia"`, `"east-asia"`, `"australia"`, `"oceania"` |   |
| `lat` | `number` | Between -85 and 85. |
| `lon` | `number` | Between -180 and 180. |
| `zoom` | `number` | Between 1 and 18. |
| `location` | `"auto"`, `"coords"`, `"geohash"` |   |
| `latField` | `fieldName` | A field name or series name in the panel's frames. |
| `lonField` | `fieldName` | A field name or series name in the panel's frames. |
| `geohashField` | `fieldName` | A field name or series name in the panel's frames. |
| `sizeField` | `fieldName` | A field name or series name in the panel's frames. |
| `colorField` | `fieldName` | A field name or series name in the panel's frames. |
| `markerSize` | `integer` | Between 1 and 100. |
| `markerSizeMax` | `integer` | Between 1 and 100. |
| `basemap` | `"outline"`, `"carto"`, `"esri"`, `"osm"`, `"xyz"`, `"none"` |   |
| `basemapTheme` | `"auto"`, `"light"`, `"dark"` |   |
| `basemapLabels` | `true`, `false` |   |
| `esriServer` | `"streets"`, `"world-imagery"`, `"world-physical"`, `"topo"`, `"usa-topo"`, `"ocean"` |   |
| `basemapUrl` | `httpsUrl` | An https address whose host is written out; ${var} references may appear only after the host. |
| `basemapAttribution` | `string` |   |
| `basemapOpacity` | `number` | Between 0 and 1. |
| `noRepeat` | `true`, `false` | The basemap and tile layers draw one world, never repeated sideways. |
| `basemapMinZoom` | `integer` | The lowest zoom level the XYZ tile server serves; below it the nearest served level is scaled. Between 0 and 18. |
| `basemapMaxZoom` | `integer` | The highest zoom level the XYZ tile server serves; above it the nearest served level is scaled. Between 0 and 18. |
| `minZoom` | `number` | Between 0 and 18. |
| `maxZoom` | `number` | Between 0 and 18. |
| `fitLayer` | `string` |   |
| `fitLastOnly` | `true`, `false` |   |
| `fitPadding` | `integer` | Between 0 and 50. |
| `sharedView` | `true`, `false` |   |
| `showZoom` | `true`, `false` |   |
| `mouseWheelZoom` | `true`, `false` |   |
| `showAttribution` | `true`, `false` |   |
| `showScale` | `true`, `false` |   |
| `showMeasure` | `true`, `false` |   |
| `showDebug` | `true`, `false` |   |
| `tooltip` | `"details"`, `"none"` |   |
| `layers` | array of `geomapLayer` | At most 10 items. |

Generated from [`spec/schema/observespec.v0.json`](https://github.com/slashobserve/slashobserve/blob/bac0fe39/spec/schema/observespec.v0.json) at `bac0fe39`. [Report a problem](https://github.com/slashobserve/slashobserve/issues/new).
