ol/control/Control~Control
import Control from 'ol/control/Control.js';
Контроль — это видимый виджет с элементом DOM в фиксированном положении на экране. Они могут включать пользовательский ввод (кнопки) или быть только информационными; положение определяется с помощью CSS. По умолчанию они размещаются в контейнере с именем класса CSS ol-overlaycontainer-stopevent, но могут использовать любой внешний элемент DOM.
Это базовый класс для контролов. Вы можете использовать его для простых пользовательских контролов, создав элемент с обработчиками событий, создав экземпляр:
const myControl = new Control({element: myElement});
и затем добавив его на карту.
Основное преимущество использования контрола вместо простого отдельного элемента DOM заключается в том, что предотвращение распространения обрабатывается за вас. Контролы также будут объектами в Collection, поэтому вы можете использовать их методы.
Вы также можете расширить этот базовый класс для своего собственного класса контрола. Пример смотрите в examples/custom-controls.
-
new Control(options)
-
Имя Тип Описание elementHTMLElement | undefined Элемент — это контейнерный элемент контрола. Это необходимо указывать только при разработке пользовательского контрола.
renderfunction | undefined Функция, вызываемая при необходимости повторной отрисовки контрола. Она вызывается в колбеке
requestAnimationFrame.targetHTMLElement | string | undefined Укажите целевой элемент, если вы хотите, чтобы контрол был отрисован за пределами области просмотра карты.
Возникающие события:
-
change(BaseEvent) — Общее событие изменения. Срабатывает при увеличении счетчика ревизии. -
error(BaseEvent) — Общее событие ошибки. Срабатывает при возникновении ошибки. -
propertychange(ObjectEvent) — Срабатывает при изменении свойства.
-
Подклассы
Расширяет
Методы
-
changed() унаследованный
-
Увеличивает счетчик ревизий и отправляет событие 'change'.
-
dispatchEvent(event){boolean | undefined} унаследованный
-
Отправляет событие и вызывает всех слушателей, отслеживающих события этого типа. Параметр события может быть либо строкой, либо объектом с свойством
type.Имя Тип Описание eventBaseEvent | строка Объект события.
Возвращает:
false, если кто-то вызвал preventDefault в объекте события или если какой-либо из слушателей вернул false.
-
get(key){*} унаследованный
-
Получение значения.
Имя Тип Описание keyстрока Имя ключа.
Возвращает:
Значение.
-
getKeys(){Array.<string>} унаследованный
-
Получить список имен свойств объекта.
Возвращает:
Список имен свойств.
-
getMap(){Карта | null}
-
Получить карту, связанную с этим элементом управления.
Возвращает:
Карта.
-
getProperties(){Object.<string, *>} унаследованный
-
Получение объекта со всеми именами и значениями свойств.
Возвращает:
Объект.
-
getRevision(){number} унаследованный
-
Получить номер версии для данного объекта. Каждый раз при изменении объекта его номер версии увеличивается.
Возвращает:
Номер ревизии.
-
on(type, listener){EventsKey | Array<EventsKey>} унаследованный
-
Присоединиться к прослушиванию события определенного типа.
Имя Тип Описание typeстрока | Array.<строка> Тип события или массив типов событий.
listenerфункция Функция-слушатель.
Возвращает:
Уникальный ключ для слушателя. Если вызвана с массивом типов событий в качестве первого аргумента, возврат будет массивом ключей.
-
once(type, listener){EventsKey | Array<EventsKey>} унаследованный
-
Прослушать один раз событие определенного типа.
Имя Тип Описание typeстрока | Array.<строка> Тип события или массив типов событий.
listenerфункция Функция-слушатель.
Возвращает:
Уникальный ключ для слушателя. Если вызвана с массивом типов событий в качестве первого аргумента, возврат будет массивом ключей.
-
render(mapEvent)
-
Отображает элемент управления.
Имя Тип Описание mapEventMapEvent Событие карты.
-
set(key, value, silent) унаследованный
-
Устанавливает значение.
Имя Тип Описание keyстрока Имя ключа.
value* Значение.
silentboolean | undefined Обновить без срабатывания события.
-
setMap(map)
-
Удалить элемент управления с текущей карты и прикрепить его к новой карте. Передайте
null, чтобы просто удалить элемент управления с текущей карты. Подклассы могут настроить обработчики событий, чтобы получать уведомления об изменениях карты здесь.Имя Тип Описание mapКарта | null Карта.
-
setProperties(values, silent) унаследованный
-
Устанавливает набор пар «ключ-значение». Обратите внимание, что это изменяет любые существующие свойства и добавляет новые (не удаляет какие-либо существующие свойства).
Имя Тип Описание valuesObject.<string, *> Значения.
silentboolean | undefined Обновить без срабатывания события.
-
setTarget(target)
-
Эта функция используется для установки целевого элемента для управления. Она не имеет эффекта, если её вызывают после добавления элемента управления на карту (т.е. после вызова
setMapна элементе управления). Если в опциях, переданных конструктору элемента управления, не установленtarget, и если не вызванsetTarget, то элемент управления добавляется в контейнер наложения карты.Имя Тип Описание targetHTMLElement | string Целевой элемент.
-
un(type, listener) унаследованный
-
Отключить прослушивание определенного типа события.
Имя Тип Описание typestring | Array.<string> Тип события или массив типов событий.
listenerfunction Функция-обработчик.
-
unset(key, silent) унаследованный
-
Удаляет свойство.
Имя Тип Описание keystring Имя ключа.
silentboolean | undefined Удалить без срабатывания события.
© 2005-present, OpenLayers Contributors All rights reserved.Licensed under the BSD 2-Clause License.
https://openlayers.org/en/latest/apidoc/module-ol_control_Control-Control.html