---
id: "packages/active-geo/interaction-and-export"
title: "Interaction and export"
description: "Navigation, selection, the menu, the accessible table, state, and PNG, SVG and CSV export."
url: "/packages/active-geo/interaction-and-export"
locale: "en"
revision: "d79b0e461cd0b049"
---

# Interaction and export

## Navigation

Zoom and pan appear on demand (`zoom.controls.visibility: 'on-demand'`); the wheel zooms with a
modifier key, so a page scrolls past a map. Keyboard shortcuts zoom and pan a focused map. `zoom:
false` keeps the map still.

## Selection and the menu

`selection: true` (or `{mode: 'multiple'}`) lets the reader select objects by click or Space;
`onItemActivate` fires on Enter or a click. Control the selection with `selectedItems` and
`onSelectionChange`, or seed it with `defaultSelectedItems`. The menu (right click, long press,
Shift+F10, or a menu button with `contextMenu.trigger: 'button'`) groups your items, copy, the
table, navigation and export.

## The table

The package's own accessible table: one tab per data layer plus "not on the map", search, pages of
100 rows and "Show on map". Open it from the menu, with `table.defaultOpen`, or from your code with
the handle's `revealInTable`. It is also the data alternative for assistive technology.

## State

`GeoMapHandle.getState()` and `applyState()` capture and restore the view, the selection and the
open table, with a result per field that says what was applied and why not.

## Export

`exportAsPng`, `exportAsSvg` and `exportAsCsv({layerId})` on the handle, and the menu's export
group, which runs the same operation. An image export carries the title, the legend and the
attribution in an explicit theme; CSV writes one row per object with the measure values, their
status and their unit.

The complete contract is in the [API reference](/packages/active-geo/api).
