Spec-Zone.ru › MapLibre GL JS

IControl

Интерфейс для интерактивных элементов управления, добавляемых на карту. Это спецификация для разработчиков, реализующих данный интерфейс; это не экспортируемый метод или класс.

Элементы управления должны реализовывать onAdd и onRemove и содержать собственный элемент, которым часто является элемент div. Чтобы использовать стили элементов управления по умолчанию в MapLibre GL JS, добавьте класс maplibregl-ctrl к узлу элемента управления.

Пример

class HelloWorldControl: IControl {
    onAdd(map) {
        this._map = map;
        this._container = document.createElement('div');
        this._container.className = 'maplibregl-ctrl';
        this._container.textContent = 'Hello, world';
        return this._container;
    }

    onRemove() {
        this._container.remove();
        this._map = undefined;
    }
}

Методы

onAdd()

onAdd(map: Map): HTMLElement

Регистрирует элемент управления на карте и позволяет ему зарегистрировать обработчики событий и ресурсы. Этот метод вызывается внутри Map.addControl.

Параметры

Параметр Тип Описание
map Map карта, на которую будет добавлен этот элемент управления

Возвращает

HTMLElement

Элемент-контейнер элемента управления. Он должен быть создан элементом управления и возвращён методом onAdd, не будучи добавленным в DOM: при необходимости карта сама вставит элемент управления в DOM.


onRemove()

onRemove(map: Map): void

Отменяет регистрацию элемента управления на карте и позволяет ему отсоединить обработчики событий и освободить ресурсы. Этот метод вызывается внутри Map.removeControl.

Параметры

Параметр Тип Описание
map Map карта, с которой будет удалён этот элемент управления

Возвращает

void

Свойства

getDefaultPosition?

readonly optional getDefaultPosition?: () => ControlPosition

Необязательно задаёт позицию этого элемента управления по умолчанию. Если реализован этот метод и Map.addControl вызывается без параметра position, в качестве позиции элемента управления используется значение, возвращаемое getDefaultPosition.

Возвращает

ControlPosition

позиция элемента управления — одно из значений, допустимых в addControl.

© MapLibre contributors
Licensed under the 3-Clause BSD License.
https://maplibre.org/maplibre-gl-js/docs/API/interfaces/IControl/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API