Skip to content

GeoLeaf.UI.Controls — Documentation

Version: 3.0.0 Source file: packages/core/src/modules/built-in/ui/controls.ts


Overview

The Controls module handles the custom MapLibre GL JS controls added to the map. Each control is defined in its own module and initialised during the GeoLeaf boot sequence.


Available controls

Fullscreen Control

Enables and disables the map fullscreen mode.

Configuration:

json
{
    "ui": {
        "fullscreen": {
            "enabled": true,
            "position": "topleft"
        }
    }
}

Browser API used: element.requestFullscreen() / document.exitFullscreen()

Source: packages/core/src/modules/built-in/ui/control-fullscreen.ts


Geolocation Control

Locates the user and centres the map on their position.

Configuration:

json
{
    "ui": {
        "geolocation": {
            "enabled": true,
            "position": "topleft"
        }
    }
}

Source: packages/core/src/modules/built-in/ui/control-geolocation.ts


Theme Toggle Control

Switches between the light and dark themes.

Configuration:

json
{
    "ui": {
        "themeToggle": {
            "enabled": true,
            "position": "topleft"
        }
    }
}

Source: packages/core/src/modules/built-in/ui/control-theme-toggle.ts


POI Add Control

Displays the POI creation button (requires the @geoleaf-plugins/editor plugin, and is configured through modules.editor.showAddPoi).

Source: packages/core/src/modules/built-in/ui/control-poi-add.ts


Integration

The controls are added automatically during GeoLeaf.Core.init() when enabled in the configuration.

ts
import { UI } from "@geoleaf/core";
// or: GeoLeaf.UI (CDN/global)

References

  • Source code: packages/core/src/modules/built-in/ui/controls.ts
  • Public facade: packages/core/src/modules/geoleaf.ui.ts

Released under the MIT License.