ol/Overlay~Overlay
import Overlay from 'ol/Overlay.js';
Элемент, отображаемый поверх карты и привязанный к одному географическому положению на карте. Как и Control, наложения являются видимыми элементами. В отличие от контролов, они не находятся в фиксированном положении на экране, но связаны с географическими координатами, поэтому перемещение карты перемещает наложение, но не контрол.
Пример:
import Overlay from 'ol/Overlay.js';
// ...
const popup = new Overlay({
element: document.getElementById('popup'),
});
popup.setPosition(coordinate);
map.addOverlay(popup);
-
новый Overlay(options)
-
Имя Тип Описание idчисло | строка | undefined Устанавливает идентификатор наложения. Идентификатор наложения можно использовать с методом
getOverlayById.elementHTMLElement | undefined Элемент наложения.
offsetМассив.<число> (по умолчанию [0, 0]) Смещения в пикселях, используемые при позиционировании наложения. Первый элемент в массиве — горизонтальное смещение. Положительное значение смещает наложение вправо. Второй элемент в массиве — вертикальное смещение. Положительное значение смещает наложение вниз.
positionКоордината | undefined Положение наложения в проекции карты.
positioningПозиционирование (по умолчанию 'top-left') Определяет, как наложение фактически позиционируется относительно его свойства
position. Возможные значения:'bottom-left','bottom-center','bottom-right','center-left','center-center','center-right','top-left','top-center'и'top-right'.stopEventлогическое значение (по умолчанию true) Определяет, следует ли останавливать распространение событий в область отображения карты. Если
true, наложение размещается в том же контейнере, что и контролы (имя класса CSSol-overlaycontainer-stopevent); еслиfalse, оно размещается в контейнере с именем класса CSS, заданным свойствомclassName.insertFirstлогическое значение (по умолчанию true) Определяет, вставляется ли наложение первым в контейнер наложений или добавляется в конец. Если наложение размещается в том же контейнере, что и контролы (см. опцию
stopEvent), вы, вероятно, установитеinsertFirstвtrue, чтобы наложение отображалось под контролами.autoPanОпцииPanIntoView | логическое значение (по умолчанию false) Перемещение карты при вызове
setPosition, чтобы наложение полностью отображалось в текущем окне просмотра.classNameстрока (по умолчанию 'ol-overlay-container ol-selectable') Имя класса CSS.
Вызывает:
-
change(BaseEvent) — Общее событие изменения. Срабатывает, когда счетчик версий увеличивается. -
change:element(ObjectEvent) -
change:map(ObjectEvent) -
change:offset(ObjectEvent) -
change:position(ObjectEvent) -
change:positioning(ObjectEvent) -
error(BaseEvent) — Общее событие ошибки. Срабатывает при возникновении ошибки. -
propertychange(ObjectEvent) — Срабатывает при изменении свойства.
-
Расширяет
Наблюдаемые свойства
| Имя | Тип | Можно устанавливать? | ObjectEvent тип | Описание |
|---|---|---|---|---|
element | HTMLElement | undefined | да | change:element | Элемент, содержащий наложение. |
map | Карта | null | да | change:map | Карта, частью которой является наложение. |
offset | Массив.<число> | да | change:offset | Смещение. |
position | Координата | undefined | да | change:position | Пространственная точка, к которой привязано наложение. |
positioning | Позиционирование | да | change:positioning | Как наложение позиционируется относительно точки на карте. |
Методы
-
changed() унаследованно
-
Увеличивает счётчик ревизий и отправляет событие 'change'.
-
dispatchEvent(event){boolean | undefined} унаследованно
-
Отправляет событие и вызывает все обработчики, слушающие события этого типа. Параметр event может быть строкой или объектом с свойством
type.Имя Тип Описание eventBaseEvent | string Объект события.
Возвращает:
false, если кто-то вызвал preventDefault для объекта события или если какой-либо из обработчиков вернул false.
-
get(key){*} унаследованно
-
Получает значение.
Имя Тип Описание keystring Имя ключа.
Возвращает:
Значение.
-
getElement(){HTMLElement | undefined}
-
Получить DOM-элемент этого наложения.
Возвращает:
Элемент, содержащий наложение.
-
getId(){number | string | undefined}
-
Получить идентификатор наложения, установленный при создании.
Возвращает:
Идентификатор.
-
getKeys(){Array.<string>} унаследованно
-
Получить список имён свойств объекта.
Возвращает:
Список имён свойств.
-
getMap(){Карта | null}
-
Получить карту, связанную с этим наложением.
Возвращает:
Карту, частью которой является наложение.
-
getOffset(){Array.<number>}
-
Получить смещение этого наложения.
Возвращает:
Смещение.
-
getPosition(){Координата | undefined}
-
Получить текущую позицию этого наложения.
Возвращает:
Пространственную точку, к которой привязано наложение.
-
getPositioning(){Позиционирование}
-
Получить текущее позиционирование этого наложения.
Возвращает:
Способ позиционирования наложения относительно точки на карте.
-
getProperties(){Object.<string, *>} унаследованно
-
Получить объект со всеми именами и значениями свойств.
Возвращает:
Объект.
-
getRevision(){number} унаследованно
-
Получить номер версии этого объекта. Каждый раз, когда объект изменяется, его номер версии увеличивается.
Возвращает:
Ревизия.
-
on(type, listener){EventsKey | Array<EventsKey>} унаследованно
-
Подписаться на событие определённого типа.
Имя Тип Описание typestring | Array.<string> Тип события или массив типов событий.
listenerfunction Функция-обработчик.
Возвращает:
Уникальный ключ для обработчика. Если вызвано с массивом типов событий в качестве первого аргумента, возвращается массив ключей.
-
once(type, listener){EventsKey | Array<EventsKey>} унаследованно
-
Подписаться на событие определённого типа один раз.
Имя Тип Описание typestring | Array.<string> Тип события или массив типов событий.
listenerfunction Функция-обработчик.
Возвращает:
Уникальный ключ для обработчика. Если вызвано с массивом типов событий в качестве первого аргумента, возвращается массив ключей.
-
panIntoView(panIntoViewOptions)
-
Переместить карту так, чтобы наложение полностью отображалось в текущем окне просмотра (при необходимости).
Name Type Description panIntoViewOptionsПараметры для действия панорамирования
Name Type Description animationPanOptions (defaults to {}) Параметры анимации для панорамирования
marginnumber (defaults to 20) Поле (в пикселях) между наложением и границами карты при панорамировании в поле зрения.
-
Устанавливает значение.
Name Type Description keystring Имя ключа.
value* Значение.
silentboolean | undefined Обновление без вызова события.
-
setElement(element)
-
Устанавливает DOM-элемент, который будет связан с этим наложением.
Name Type Description elementHTMLElement | undefined Элемент, содержащий наложение.
-
setMap(map)
-
Устанавливает карту, которая будет связана с этим наложением.
Name Type Description mapMap | null Карта, частью которой является наложение. Передайте
null, чтобы просто удалить наложение с текущей карты. -
setOffset(offset)
-
Устанавливает смещение для этого наложения.
Name Type Description offsetArray.<number> Смещение.
-
setPosition(position)
-
Устанавливает позицию для этого наложения. Если позиция
undefined, наложение скрыто.Name Type Description positionCoordinate | undefined Пространственная точка, к которой привязывается наложение.
-
setPositioning(positioning)
-
Устанавливает позиционирование для этого наложения.
Name Type Description positioningPositioning как наложение позиционируется относительно своей точки на карте.
-
Устанавливает набор пар «ключ-значение». Обратите внимание, что это изменяет все существующие свойства и добавляет новые (это не удаляет существующие свойства).
Name Type Description valuesObject.<string, *> Значения.
silentboolean | undefined Обновление без вызова события.
-
un(type, listener) inherited
-
Отменить прослушивание определенного типа события.
Name Type Description typestring | Array.<string> Тип события или массив типов событий.
listenerfunction Функция прослушивателя.
-
Сбрасывает свойство.
Name Type Description 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_Overlay-Overlay.html