ol/interaction/Modify~Изменение
import Modify from 'ol/interaction/Modify.js';
Взаимодействие для изменения геометрий объектов. Чтобы изменить объекты, добавленные в существующий источник, постройте взаимодействие modify с опцией source. Если вы хотите изменить объекты в коллекции (например, коллекцию, используемую взаимодействием select), постройте взаимодействие с опцией features. Взаимодействие должно быть построено с опцией source или features.
Декартово расстояние от указателя используется для определения объектов, которые будут изменены. Это означает, что геометрии будут рассматриваться для изменения только тогда, когда они находятся в пределах настроенного pixelTolerance. Для точечных геометрий можно использовать опцию hitDetection для соответствия их визуальному представлению.
По умолчанию взаимодействие позволит удалить вершины при нажатии клавиши alt. Чтобы настроить взаимодействие с другим условием удаления, используйте опцию deleteCondition.
-
new Modify(options)
-
Имя Тип Описание conditionУсловие | undefined Функция, которая принимает событие прокрутки карты и возвращает значение boolean, указывающее, будет ли это событие рассматриваться для добавления или перемещения вершины к эскизу. По умолчанию
primaryAction.deleteConditionУсловие | undefined Функция, которая принимает событие прокрутки карты и возвращает значение boolean, указывающее, должно ли это событие обрабатываться. По умолчанию
singleClickсaltKeyOnlyприводит к удалению вершины.insertVertexConditionУсловие | undefined Функция, которая принимает событие прокрутки карты и возвращает значение boolean, указывающее, должна ли быть добавлена новая вершина к объектам эскиза. По умолчанию
always.pixelToleranceчисло (по умолчанию 10) Пиксельная точность для определения близости указателя к отрезку или вершине для редактирования.
styleСтиль | Стиль | undefined Стиль, используемый для точки или вершины модификации. Для линий и полигонов это будет затронутая вершина, для окружностей - точка вдоль окружности, для точек - сама точка. Если не настроено, используется стиль редактирования по умолчанию (см.
Style). При использовании функции стиля передаваемый функции точечный объект будет иметь свойствоexisting- указывающее, существует ли под ним существующая вершина или нет, свойствоfeatures- массив, чьи элементы — это изменяемые объекты, и свойствоgeometries- массив, чьи элементы — это изменяемые геометрии. Оба массива упорядочены одинаково. Свойстваgeometriesполезны только при изменении коллекций геометрий, где геометрия будет конкретной геометрией из коллекции, которая изменяется.sourceИсточник векторов | undefined Источник векторов с объектами для изменения. Если источник векторов не указан, должна быть указана коллекция объектов с опцией
features.hitDetectionboolean | Слой | undefined При настройке точечные объекты будут рассматриваться для изменения на основе их визуального представления, а не по расстоянию от указателя. Если указан слой
BaseVectorLayer, то для рассмотрения будут использоваться только визуальные представления объектов на этом слое.featuresКоллекция<Объект> | undefined Объекты, над которыми работает взаимодействие. Если коллекция объектов не указана, должен быть указан источник векторов с опцией
source.wrapXboolean (по умолчанию false) Обернуть мир горизонтально на слое эскиза.
snapToPointerboolean (по умолчанию !hitDetection) Изменяемая вершина, точка или отрезок привязывается к координатам указателя при щелчке внутри
pixelTolerance.События:
-
change(Базовое событие) - Общее событие изменения. Срабатывает при увеличении счетчика ревизий. -
change:active(Объектное событие) -
error(Базовое событие) - Общее событие ошибки. Срабатывает при возникновении ошибки. -
modifyend(Событие изменения) - Срабатывает по окончании изменения объекта. -
modifystart(Событие изменения) - Срабатывает при начале изменения объекта. -
propertychange(Объектное событие) - Срабатывает при изменении свойства.
-
Расширяет
Наблюдаемые свойства
| Имя | Тип | Устанавливаемое | Тип события | Описание |
|---|---|---|---|---|
active | boolean | да | change:active |
|
Методы
-
можетВставитьТочку(){boolean}
-
Проверяет, можно ли вставить точку в текущую линию или полигон в текущей позиции указателя.
Возвращает:
Можно вставить точку в текущей позиции указателя.
-
можетУдалитьТочку(){boolean}
-
Проверяет, можно ли удалить точку из текущей линии или полигона в текущей позиции указателя.
Возвращает:
Точку можно удалить в текущей позиции указателя.
-
changed() унаследованный
-
Увеличивает счетчик версий и отправляет событие 'change'.
-
dispatchEvent(event){boolean | undefined} унаследованный
-
Отправляет событие и вызывает всех слушателей, ожидающих события этого типа. Параметр event может быть строкой или объектом с свойством
type.Имя Тип Описание eventBaseEvent | string Объект события.
Возвращает:
false, если кто-то вызвал preventDefault на объекте события или если любой из слушателей вернул false.
-
получить(ключ){*} унаследованный
-
Получить значение.
Имя Тип Описание keystring Имя ключа.
Возвращает:
Значение.
-
получитьАктивный(){boolean} унаследованный
-
Возвращает, активен ли в данный момент интерактивный элемент.
Возвращает:
true, если интерактивный элемент активен,falseв противном случае.
-
получитьКлючи(){Array.<string>} унаследованный
-
Получить список имён свойств объекта.
Возвращает:
Список имён свойств.
-
получитьКарту(){Карта | null} унаследованный
-
Получить карту, связанную с этим интерактивным элементом.
Возвращает:
Карта.
-
получитьНаложение(){ВекторныйСлой}
-
Получить слой наложения, на котором этот интерактивный элемент отображает точку изменения или вершину.
Возвращает:
Слой наложения.
-
получитьКоличествоУказателей(){number} унаследованный
-
Возвращает текущее количество указателей, участвующих в интерактивном элементе, например,
2, когда используются два пальца.Возвращает:
Количество указателей.
-
получитьСвойства(){Object.<string, *>} унаследованный
-
Получить объект со всеми именами и значениями свойств.
Возвращает:
Объект.
-
получитьРевизию(){number} унаследованный
-
Получить номер версии для этого объекта. Каждый раз, когда объект изменяется, его номер версии увеличивается.
Возвращает:
Ревизия.
-
вставитьТочку(координата){boolean}
-
Вставляет вершину, на которую в данный момент указывает указатель, в текущую линию или полигон.
Имя Тип Описание coordinateКоордината | undefined Если указано, указатель будет установлен на предоставленные координаты. Если нет, будут использованы текущие координаты указателя.
Возвращает:
Вершина была вставлена.
-
на(тип, слушатель){EventsKey | Array<EventsKey>} унаследованный
-
Прослушивание определенного типа события.
Имя Тип Описание typeстрока | Массив.<строка> Тип события или массив типов событий.
listenerфункция Функция-обработчик.
Возвращает:
Уникальный ключ для обработчика. Если используется массив типов событий в качестве первого аргумента, возвращаемое значение будет массивом ключей.
-
Прослушивание определенного типа события один раз.
Имя Тип Описание typeстрока | Массив.<строка> Тип события или массив типов событий.
listenerфункция Функция-обработчик.
Возвращает:
Уникальный ключ для обработчика. Если используется массив типов событий в качестве первого аргумента, возвращаемое значение будет массивом ключей.
-
removePoint(coordinate){boolean}
-
Удаляет вершину, на которую сейчас указывает курсор, из текущей ломаной или многоугольника.
Имя Тип Описание coordinateКоордината | undefined Если указано, курсор будет установлен на предоставленную координату. В противном случае будет использоваться текущая координата курсора.
Возвращает:
True, если вершина была удалена.
-
set(key, value, silent) inherited
-
Устанавливает значение.
Имя Тип Описание keyстрока Имя ключа.
value* Значение.
silentboolean | undefined Обновление без срабатывания события.
-
setActive(active)
-
Активировать или деактивировать взаимодействие.
Имя Тип Описание activeboolean Активный.
-
setProperties(values, silent) inherited
-
Устанавливает набор пар ключ-значение. Обратите внимание, что это изменяет любые существующие свойства и добавляет новые (это не удаляет любые существующие свойства).
Имя Тип Описание valuesОбъект.<строка, *> Значения.
silentboolean | undefined Обновление без срабатывания события.
-
un(type, listener) inherited
-
Отменить прослушивание определенного типа события.
Имя Тип Описание typeстрока | Массив.<строка> Тип события или массив типов событий.
listenerфункция Функция-обработчик.
-
unset(key, silent) inherited
-
Удаляет свойство.
Имя Тип Описание keyстрока Имя ключа.
silentboolean | undefined Удалить без срабатывания события.
© 2005-present, OpenLayers Contributors All rights reserved.Licensed under the BSD 2-Clause License.
https://openlayers.org/en/latest/apidoc/module-ol_interaction_Modify-Modify.html