Spec-Zone.ru › OpenLayers

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)

control/Control.js, line 45
Имя Тип Описание
element HTMLElement | undefined

Элемент — это контейнерный элемент контрола. Это необходимо указывать только при разработке пользовательского контрола.

render function | undefined

Функция, вызываемая при необходимости повторной отрисовки контрола. Она вызывается в колбеке requestAnimationFrame.

target HTMLElement | string | undefined

Укажите целевой элемент, если вы хотите, чтобы контрол был отрисован за пределами области просмотра карты.

Возникающие события:
  • change (BaseEvent) — Общее событие изменения. Срабатывает при увеличении счетчика ревизии.
  • error (BaseEvent) — Общее событие ошибки. Срабатывает при возникновении ошибки.
  • propertychange (ObjectEvent) — Срабатывает при изменении свойства.

Подклассы

  • Attribution
  • FullScreen
  • MousePosition
  • OverviewMap
  • Rotate
  • ScaleLine
  • ZoomSlider
  • ZoomToExtent
  • Zoom

Расширяет

  • BaseObject

Методы

changed() унаследованный

Observable.js, строка 68

Увеличивает счетчик ревизий и отправляет событие 'change'.

dispatchEvent(event){boolean | undefined} унаследованный

events/Target.js, строка 85

Отправляет событие и вызывает всех слушателей, отслеживающих события этого типа. Параметр события может быть либо строкой, либо объектом с свойством type.

Имя Тип Описание
event BaseEvent | строка

Объект события.

Возвращает:
false, если кто-то вызвал preventDefault в объекте события или если какой-либо из слушателей вернул false.

get(key){*} унаследованный

Object.js, строка 135

Получение значения.

Имя Тип Описание
key строка

Имя ключа.

Возвращает:
Значение.

getKeys(){Array.<string>} унаследованный

Object.js, строка 148

Получить список имен свойств объекта.

Возвращает:
Список имен свойств.

getMap(){Карта | null}

control/Control.js, строка 104

Получить карту, связанную с этим элементом управления.

Возвращает:
Карта.

getProperties(){Object.<string, *>} унаследованный

Object.js, строка 157

Получение объекта со всеми именами и значениями свойств.

Возвращает:
Объект.

getRevision(){number} унаследованный

Observable.js, строка 79

Получить номер версии для данного объекта. Каждый раз при изменении объекта его номер версии увеличивается.

Возвращает:
Номер ревизии.

on(type, listener){EventsKey | Array<EventsKey>} унаследованный

Observable.js, строка 152

Присоединиться к прослушиванию события определенного типа.

Имя Тип Описание
type строка | Array.<строка>

Тип события или массив типов событий.

listener функция

Функция-слушатель.

Возвращает:
Уникальный ключ для слушателя. Если вызвана с массивом типов событий в качестве первого аргумента, возврат будет массивом ключей.

once(type, listener){EventsKey | Array<EventsKey>} унаследованный

Observable.js, строка 164

Прослушать один раз событие определенного типа.

Имя Тип Описание
type строка | Array.<строка>

Тип события или массив типов событий.

listener функция

Функция-слушатель.

Возвращает:
Уникальный ключ для слушателя. Если вызвана с массивом типов событий в качестве первого аргумента, возврат будет массивом ключей.

render(mapEvent)

control/Control.js, строка 144

Отображает элемент управления.

Имя Тип Описание
mapEvent MapEvent

Событие карты.

set(key, value, silent) унаследованный

Object.js, строка 215

Устанавливает значение.

Имя Тип Описание
key строка

Имя ключа.

value *

Значение.

silent boolean | undefined

Обновить без срабатывания события.

setMap(map)

control/Control.js, строка 116

Удалить элемент управления с текущей карты и прикрепить его к новой карте. Передайте null, чтобы просто удалить элемент управления с текущей карты. Подклассы могут настроить обработчики событий, чтобы получать уведомления об изменениях карты здесь.

Имя Тип Описание
map Карта | null

Карта.

setProperties(values, silent) унаследованный

Object.js, строка 235

Устанавливает набор пар «ключ-значение». Обратите внимание, что это изменяет любые существующие свойства и добавляет новые (не удаляет какие-либо существующие свойства).

Имя Тип Описание
values Object.<string, *>

Значения.

silent boolean | undefined

Обновить без срабатывания события.

setTarget(target)

control/Control.js, строка 155

Эта функция используется для установки целевого элемента для управления. Она не имеет эффекта, если её вызывают после добавления элемента управления на карту (т.е. после вызова setMap на элементе управления). Если в опциях, переданных конструктору элемента управления, не установлен target, и если не вызван setTarget, то элемент управления добавляется в контейнер наложения карты.

Имя Тип Описание
target HTMLElement | string

Целевой элемент.

un(type, listener) унаследованный

Observable.js, строка 173

Отключить прослушивание определенного типа события.

Имя Тип Описание
type string | Array.<string>

Тип события или массив типов событий.

listener function

Функция-обработчик.

unset(key, silent) унаследованный

Object.js, строка 259

Удаляет свойство.

Имя Тип Описание
key string

Имя ключа.

silent boolean | 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

Spec-Zone.ru

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