ol/interaction/Select~Select
import Select from 'ol/interaction/Select.js';
Взаимодействие для выбора векторных объектов. По умолчанию выделенные объекты стилизуются по-другому, поэтому это взаимодействие можно использовать для визуального выделения, а также для выбора объектов для других действий, таких как модификация или вывод. Есть три способа управления тем, какие объекты выделены: использование события браузера, как определено в condition и необязательно toggle, add/remove и multi опции; layers фильтр; и дополнительный фильтр объектов с помощью опции filter.
-
new Select(options)
-
Имя Тип Описание addConditionCondition | undefined Функция, которая принимает
MapBrowserEventи возвращает булево значение, указывающее, должно ли это событие обрабатываться. По умолчанию этоnever. Используйте это, если хотите использовать разные события для добавления и удаления вместоtoggle.conditionCondition | undefined Функция, которая принимает
MapBrowserEventи возвращает булево значение, указывающее, должно ли это событие обрабатываться. Это событие для выделенных объектов в целом. По умолчанию этоsingleClick. Щелчок по объекту выделяет этот объект и удаляет все, что было в выделении. Щелчок вне любого объекта удаляет все из выделения. См. опцииtoggle,add,removeдля добавления/удаления дополнительных объектов в/из выделения.layersArray<Layer> | function | undefined Список слоев, из которых следует выбирать объекты. В качестве альтернативы можно указать функцию-фильтр. Функция будет вызываться для каждого слоя в карте и должна возвращать
trueдля слоев, которые вы хотите сделать выбираемыми. Если опция отсутствует, все видимые слои будут считаться выбираемыми.styleStyleLike | null | undefined Стиль для выделенных объектов. По умолчанию используется стиль редактирования по умолчанию (см.
Style). Установите вnull, если это взаимодействие не должно изменять стиль выделенных объектов. Если задано ложное значение, стиль выделенного объекта не изменится.removeConditionCondition | undefined Функция, которая принимает
MapBrowserEventи возвращает булево значение, указывающее, должно ли это событие обрабатываться. По умолчанию этоnever. Используйте это, если хотите использовать разные события для добавления и удаления вместоtoggle.toggleConditionCondition | undefined Функция, которая принимает
MapBrowserEventи возвращает булево значение, указывающее, должно ли это событие обрабатываться. Это дополнительно к событиюcondition. По умолчаниюshiftKeyOnly, то есть нажатиеshiftвместе с событиемcondition, добавляет этот объект к текущему выделению, если он не выбран, и удаляет его, если он выбран. См.addиremove, если вы хотите использовать другие события вместо переключения.multiboolean (defaults to false) Булево значение, определяющее, должен ли по умолчанию выбираться только один объект или все (перекрывающиеся) объекты в позиции щелчка на карте. Значение по умолчанию
falseозначает выбор одного объекта.featuresCollection<Feature> | undefined Коллекция, в которую взаимодействие поместит выбранные объекты. Необязательно. Если не задано, взаимодействие создаст коллекцию. В любом случае коллекция, используемая взаимодействием, возвращается методом
getFeatures.filterFilterFunction | undefined Функция, которая принимает
FeatureиLayerи возвращаетtrue, если объект может быть выбран, илиfalseв противном случае.hitTolerancenumber (defaults to 0) Допуск определения попадания. Пиксели внутри радиуса вокруг заданной позиции будут проверены на наличие объектов.
События:
-
change(BaseEvent) — Общее событие изменения. Срабатывает, когда увеличивается счетчик ревизий. -
change:active(ObjectEvent) -
error(BaseEvent) — Общее событие ошибки. Срабатывает при возникновении ошибки. -
propertychange(ObjectEvent) — Срабатывает при изменении свойства. -
select(SelectEvent) — Срабатывает, когда объект(ы) был(и) выбран(ы)/отмечен(ы) как невыбранный(ые).
-
Расширяет
Наблюдаемые свойства
| Имя | Тип | Изменяемый | ObjectEvent тип | Описание |
|---|---|---|---|---|
active | boolean | да | change:active |
|
Методы
-
changed() унаследованный
-
Увеличивает счётчик версий и отправляет событие 'изменение'.
-
dispatchEvent(event){boolean | undefined} унаследованный
-
Отправляет событие и вызывает все слушатели, слушающие события этого типа. Параметр события может быть строкой или объектом со свойством
type.Имя Тип Описание eventBaseEvent | строка Объект события.
Возвращает:
false, если кто-то вызвал preventDefault в объекте события или если любой из слушателей вернул false.
-
get(key){*} унаследованный
-
Получает значение.
Имя Тип Описание keyстрока Имя ключа.
Возвращает:
Значение.
-
getActive(){boolean} унаследованный
-
Возвращает, активен ли взаимодействие в данный момент.
Возвращает:
true, если взаимодействие активно,falseв противном случае.
-
Получить выбранные элементы.
Возвращает:
Коллекцию элементов.
-
getHitTolerance(){number}
-
Возвращает порог обнаружения столкновения.
Возвращает:
Порог обнаружения столкновений в пикселях.
-
getKeys(){Массив.<строка>} унаследованный
-
Получить список имён свойств объекта.
Возвращает:
Список имён свойств.
-
getLayer(feature){СлойВектора}
-
Возвращает связанный
vector layerвыбранного элемента.Имя Тип Описание featureЭлемент Элемент
Возвращает:
Слой.
-
getMap(){Карта | null} унаследованный
-
Получить карту, связанную с этим взаимодействием.
Возвращает:
Карта.
-
getProperties(){Объект.<строка, *>} унаследованный
-
Получить объект со всеми именами и значениями свойств.
Возвращает:
Объект.
-
getRevision(){число} унаследованный
-
Получить номер версии этого объекта. Каждый раз при изменении объекта номер версии будет инкрементирован.
Возвращает:
Номер версии.
-
on(type, listener){КлючСобытия | Массив<КлючСобытия>} унаследованный
-
Прислушиваться к определённому типу события.
Имя Тип Описание typeстрока | Массив.<строка> Тип события или массив типов событий.
listenerфункция Функция-слушатель.
Возвращает:
Уникальный ключ для слушателя. Если вызвана с массивом типов событий в качестве первого аргумента, возвращается массив ключей.
-
once(type, listener){КлючСобытия | Массив<КлючСобытия>} унаследованный
-
Прослушивание события определённого типа.
Имя Тип Описание typeстрока | Массив.<строка> Тип события или массив типов событий.
listenerфункция Функция-обработчик события.
Возвращаемое значение:
Уникальный ключ для обработчика событий. Если вызвано с массивом типов событий в качестве первого аргумента, результат будет массивом ключей.
-
set(ключ, значение, негромко) унаследованное
-
Устанавливает значение.
Имя Тип Описание keyстрока Имя ключа.
value* Значение.
silentлогическое значение | undefined Обновление без срабатывания события.
-
setActive(активно) унаследованное
-
Активировать или деактивировать взаимодействие.
Имя Тип Описание activeлогическое значение Активно.
-
setHitTolerance(толерантность к попаданию)
-
Толерантность к попаданию. Пиксели внутри радиуса вокруг заданной позиции будут проверены на наличие объектов.
Имя Тип Описание hitToleranceчисло Толерантность к попаданию в пикселях.
-
setMap(карта)
-
Удалить взаимодействие с текущей картой, если есть, и подключить его к новой карте, если есть. Передайте
null, чтобы просто удалить взаимодействие из текущей карты.Имя Тип Описание mapКарта | null Карта.
-
setProperties(значения, негромко) унаследованное
-
Устанавливает коллекцию пар ключ-значение. Обратите внимание, что это изменяет все существующие свойства и добавляет новые (это не удаляет какие-либо существующие свойства).
Имя Тип Описание valuesОбъект.<строка, *> Значения.
silentлогическое значение | undefined Обновление без срабатывания события.
-
un(тип, обработчик) унаследованное
-
Отключить прослушивание события определённого типа.
Имя Тип Описание typeстрока | Массив.<строка> Тип события или массив типов событий.
listenerфункция Функция-обработчик события.
-
unset(ключ, негромко) унаследованное
-
Удаляет свойство.
Имя Тип Описание keyстрока Имя ключа.
silentлогическое значение | undefined Удалить без срабатывания события.
© 2005-present, OpenLayers Contributors All rights reserved.Licensed under the BSD 2-Clause License.
https://openlayers.org/en/latest/apidoc/module-ol_interaction_Select-Select.html