Spec-Zone.ru › OpenLayers

ol/interaction/Select~Select


import Select from 'ol/interaction/Select.js';

Взаимодействие для выбора векторных объектов. По умолчанию выбранные объекты отображаются в другом стиле, поэтому это взаимодействие можно использовать для визуального выделения, а также для выбора объектов для других действий, например изменения или вывода. Есть три способа управлять выбором объектов: с помощью события браузера, определяемого параметром condition, и, при необходимости, параметрами toggle, add/remove и multi; фильтра layers; а также дополнительного фильтра объектов, задаваемого параметром filter.

new Select(options)

interaction/Select.js, строка 158
Имя Тип Описание
addCondition Condition | undefined

Функция, принимающая MapBrowserEvent и возвращающая логическое значение, указывающее, следует ли обрабатывать это событие. По умолчанию это never. Используйте этот параметр, если хотите применять разные события для добавления и удаления вместо toggle.

condition Condition | undefined

Функция, принимающая MapBrowserEvent и возвращающая логическое значение, указывающее, следует ли обрабатывать это событие. Это событие применяется ко всем выбранным объектам. По умолчанию это singleClick. Щелчок по объекту выбирает его и снимает выбор со всех ранее выбранных объектов. Щелчок вне любого объекта снимает выбор со всех объектов. Параметры toggle, add и remove позволяют добавлять объекты в выборку и удалять их из неё.

layers Array<Layer> | function | undefined

Список слоёв, из которых следует выбирать объекты. Вместо этого можно указать функцию-фильтр. Функция будет вызвана для каждого слоя карты и должна возвращать true для слоёв, в которых разрешён выбор объектов. Если параметр не указан, для выбора будут доступны все видимые слои.

style StyleLike | null | undefined

Стиль выбранных объектов. По умолчанию используется стандартный стиль редактирования (см. Style). Укажите null, если это взаимодействие не должно изменять стиль выбранных объектов. Если указано значение, трактуемое как ложное, стиль выбранного объекта не изменится.

removeCondition Condition | undefined

Функция, принимающая MapBrowserEvent и возвращающая логическое значение, указывающее, следует ли обрабатывать это событие. По умолчанию это never. Используйте этот параметр, если хотите применять разные события для добавления и удаления вместо toggle.

toggleCondition Condition | undefined

Функция, принимающая MapBrowserEvent и возвращающая логическое значение, указывающее, следует ли обрабатывать это событие. Это дополнительное событие к событию condition. По умолчанию используется shiftKeyOnly, то есть нажатие shift вместе с событием condition добавляет объект в текущую выборку, если он ещё не выбран, и удаляет его, если он уже выбран. Используйте add и remove, если хотите применить другие события вместо переключения выбора.

multi boolean (по умолчанию false)

Логическое значение, определяющее, должно ли поведение по умолчанию выбирать только один объект или все объекты, расположенные друг над другом в точке щелчка на карте. Значение по умолчанию false означает выбор одного объекта.

features Collection<Feature> | undefined

Коллекция, в которую взаимодействие помещает выбранные объекты. Необязательный параметр. Если он не задан, взаимодействие создаст коллекцию. В любом случае коллекция, используемая взаимодействием, возвращается методом getFeatures.

filter FilterFunction | undefined

Функция, принимающая Feature и Layer и возвращающая true, если объект можно выбрать, или false в противном случае.

hitTolerance number (по умолчанию 0)

Допуск при обнаружении объектов. Для поиска объектов проверяются пиксели в пределах радиуса вокруг указанной позиции.

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

Расширяет

  • Interaction

Наблюдаемые свойства

Имя Тип Можно задать Тип ObjectEvent Описание
active boolean да change:active

true, если взаимодействие активно, и false в противном случае.

Методы

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

Observable.js, строка 68

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

clearSelection()

interaction/Select.js, строка 535

Снимает выделение со всех объектов так, как если бы пользователь снял его. В отличие от select.getFeatures().clear(), это вызывает SelectEvent. У события SelectEvent, отправленного этим методом, не будет свойства mapBrowserEvent

deselectFeature(feature){boolean}

interaction/Select.js, строка 503

Пытается снять выделение с объекта так, как если бы по нему щёлкнули. В отличие от select.getFeatures().remove(feature), это вызывает SelectEvent. У события SelectEvent, отправленного этим методом, не будет свойства mapBrowserEvent

Имя Тип Описание
feature Feature

Объект, с которого нужно снять выделение

Возвращает:
True, если выделение объекта было снято

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

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

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

Имя Тип Описание
event BaseEvent | string

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

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

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

Object.js, строка 136

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

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

Имя ключа.

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

getActive(){boolean} унаследовано

interaction/Interaction.js, строка 82

Возвращает, активен ли в данный момент интерактивный элемент.

Возвращает:
true, если интерактивный элемент активен, иначе false.

getFeatures(){Collection<Feature>}

interaction/Select.js, строка 295

Возвращает выделенные объекты.

Возвращает:
Коллекция объектов.

getHitTolerance(){number}

interaction/Select.js, строка 304

Возвращает допуск при обнаружении попадания.

Возвращает:
Допуск попадания в пикселях.

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

Object.js, строка 149

Возвращает список имён свойств объекта.

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

getLayer(feature){VectorLayer}

interaction/Select.js, строка 315

Возвращает связанный vector layer для выделенного объекта.

Имя Тип Описание
feature Feature

Объект

Возвращает:
Слой.

getMap(){Map | null} унаследовано

interaction/Interaction.js, строка 91

Возвращает карту, связанную с этим интерактивным элементом.

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

getProperties(){NoInfer.<Properties>} унаследовано

Object.js, строка 158

Возвращает объект со всеми именами свойств и их значениями.

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

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

Observable.js, строка 79

Возвращает номер версии этого объекта. При каждом изменении объекта номер его версии увеличивается.

Возвращает:
Ревизия.

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

Observable.js, строка 152

Ожидает событие указанного типа.

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

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

listener function

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

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

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

Observable.js, строка 164

Однократно ожидает событие указанного типа.

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

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

listener function

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

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

selectFeature(feature){boolean}

interaction/Select.js, строка 478

Пытается выделить объект так, как если бы по нему щёлкнули и addCondition имело значение True. В отличие от прямого изменения select.getFeatures(), этот метод учитывает параметры filter и layers (за исключением multi, который игнорируется). У события SelectEvent, отправленного этим методом, не будет свойства mapBrowserEvent

Имя Тип Описание
feature Feature

Объект, который нужно выделить

Возвращает:
True, если объект был выделен

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

Object.js, строка 218

Задаёт значение.

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

Имя ключа.

value *

Значение.

silent boolean | undefined

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

setActive(active) унаследовано

interaction/Interaction.js, строка 111

Активирует или деактивирует интерактивный элемент.

Имя Тип Описание
active boolean

Активен.

setHitTolerance(hitTolerance)

interaction/Select.js, строка 327

Допуск при обнаружении попадания. Объекты в пределах радиуса вокруг указанной позиции проверяются на наличие.

Имя Тип Описание
hitTolerance number

Допуск попадания в пикселях.

setMap(map)

interaction/Select.js, строка 338

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

Имя Тип Описание
map Map | null

Карта.

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

Object.js, строка 238

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

Имя Тип Описание
values Partial.<NoInfer.<Properties>>

Значения.

silent boolean | undefined

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

toggleFeature(feature)

interaction/Select.js, строка 523

Пытается переключить состояние выделения объекта так, как если бы по нему щёлкнули и toggleCondition имело значение True. В отличие от прямого изменения select.getFeatures(), этот метод учитывает параметры filter и layers (за исключением multi, который игнорируется). У события SelectEvent, отправленного этим методом, не будет свойства mapBrowserEvent

Имя Тип Описание
feature Feature

Объект, с которого нужно снять выделение

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

Observable.js, строка 173

Прекращает ожидание события указанного типа.

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

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

listener function

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

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

Object.js, строка 262

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

Имя Тип Описание
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_interaction_Select-Select.html

Spec-Zone.ru

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