OPERATOR

MapLegend

Geometry meanings

Map legend

  • Equipment location

    Point

    Reported observation position

  • Last-known track

    Line

    Solid

    Connects supplied historical positions

  • Reported coverage

    Area

    Dashed

    Modeled coverage footprint

  • Positional uncertainty

    Area

    Dashed

    Supplied uncertainty bound

  • Reported issue

    Point

<MapLegend
  items={[
    { id: "equipment", label: "Equipment", kind: "point" },
    { id: "track", label: "Reported track", kind: "line", variant: "accent" },
    {
      id: "coverage",
      label: "Reported coverage",
      kind: "area",
      variant: "success",
      pattern: "dashed",
    },
  ]}
/>

Items have id, label, kind and optional variant, pattern and description. Kind is point, line or area. Variant is neutral (default), success, warning, error, info or accent. Line/area pattern is solid (default) or dashed; point symbols remain solid. The caller supplies meaning and matches it to the renderer; the component does not infer coverage, uncertainty, condition or tactical affiliation.

Use LayerControl for visibility and order. The legend is a passive display. No map engine or tactical symbol renderer is bundled.

Props

PROPTYPEDEFAULTREQUIRED
labelstring"Map legend"no
items

Readonly MapLegendItem[]; labels/descriptions explain the supplied geometry. Variants use existing tokens; geometry kind and line/area pattern are always visible as text. Point symbols remain solid.

array—yes
classNamestring—no

Accessibility

  • A named list includes each authored label, geometry kind, line/area pattern and description.
  • Shapes are decorative because their meanings are present as text. Color is never the only distinction.
  • Shapes retain borders and readable text in forced colors. Text wraps at narrow widths.
  • The root forwards a div ref and native attributes; an empty list is explained.

Manifest entry

<MapLegend items={[{ id: "coverage", label: "Reported coverage", kind: "area", variant: "info", description: "Supplied model footprint" }]} />
View agent manifest
{
  "description": "Text and shape map legend for supplied point, line and area meanings.",
  "props": {
    "label": {
      "type": "string",
      "default": "Map legend"
    },
    "items": {
      "type": "array",
      "items": {
        "id": "string",
        "label": "string",
        "kind": "point | line | area",
        "variant": "neutral | success | warning | error | info | accent (optional; neutral)",
        "pattern": "solid | dashed (optional; solid; applies to line/area)",
        "description": "string (optional)"
      },
      "required": true,
      "description": "Readonly MapLegendItem[]; labels/descriptions explain the supplied geometry. Variants use existing tokens; geometry kind and line/area pattern are always visible as text. Point symbols remain solid."
    },
    "className": {
      "type": "string"
    }
  },
  "composable_with": [
    "LayerControl",
    "MapControls",
    "DescriptionList"
  ],
  "never_inside": [
    "Button"
  ],
  "example": "<MapLegend items={[{ id: \"coverage\", label: \"Reported coverage\", kind: \"area\", variant: \"info\", description: \"Supplied model footprint\" }]} />"
}

On this page