Spec-Zone.ru › OpenLayers

ol/interaction/Modify~Изменение


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

Взаимодействие для изменения геометрий объектов. Чтобы изменить объекты, добавленные в существующий источник, постройте взаимодействие modify с опцией source. Если вы хотите изменить объекты в коллекции (например, коллекцию, используемую взаимодействием select), постройте взаимодействие с опцией features. Взаимодействие должно быть построено с опцией source или features.

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

По умолчанию взаимодействие позволит удалить вершины при нажатии клавиши alt. Чтобы настроить взаимодействие с другим условием удаления, используйте опцию deleteCondition.

new Modify(options)

interaction/Modify.js, строка 202
Имя Тип Описание
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.

hitDetection boolean | Слой | undefined

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

features Коллекция<Объект> | undefined

Объекты, над которыми работает взаимодействие. Если коллекция объектов не указана, должен быть указан источник векторов с опцией source.

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

Обернуть мир горизонтально на слое эскиза.

snapToPointer boolean (по умолчанию !hitDetection)

Изменяемая вершина, точка или отрезок привязывается к координатам указателя при щелчке внутри pixelTolerance.

События:
  • change (Базовое событие) - Общее событие изменения. Срабатывает при увеличении счетчика ревизий.
  • change:active (Объектное событие)
  • error (Базовое событие) - Общее событие ошибки. Срабатывает при возникновении ошибки.
  • modifyend (Событие изменения) - Срабатывает по окончании изменения объекта.
  • modifystart (Событие изменения) - Срабатывает при начале изменения объекта.
  • propertychange (Объектное событие) - Срабатывает при изменении свойства.

Расширяет

  • PointerInteraction

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

Имя Тип Устанавливаемое Тип события Описание
active boolean да change:active

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

Методы

можетВставитьТочку(){boolean}

interaction/Modify.js, строка 1632

Проверяет, можно ли вставить точку в текущую линию или полигон в текущей позиции указателя.

Возвращает:
Можно вставить точку в текущей позиции указателя.

можетУдалитьТочку(){boolean}

interaction/Modify.js, строка 1440

Проверяет, можно ли удалить точку из текущей линии или полигона в текущей позиции указателя.

Возвращает:
Точку можно удалить в текущей позиции указателя.

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

Observable.js, строка 68

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

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

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

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

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

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

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

получить(ключ){*} унаследованный

Object.js, строка 135

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

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

Имя ключа.

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

получитьАктивный(){boolean} унаследованный

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

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

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

получитьКлючи(){Array.<string>} унаследованный

Object.js, строка 148

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

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

получитьКарту(){Карта | null} унаследованный

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

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

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

получитьНаложение(){ВекторныйСлой}

interaction/Modify.js, строка 559

Получить слой наложения, на котором этот интерактивный элемент отображает точку изменения или вершину.

Возвращает:
Слой наложения.

получитьКоличествоУказателей(){number} унаследованный

interaction/Pointer.js, строка 95

Возвращает текущее количество указателей, участвующих в интерактивном элементе, например, 2, когда используются два пальца.

Возвращает:
Количество указателей.

получитьСвойства(){Object.<string, *>} унаследованный

Object.js, строка 157

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

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

получитьРевизию(){number} унаследованный

Observable.js, строка 79

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

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

вставитьТочку(координата){boolean}

interaction/Modify.js, строка 1665

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

Имя Тип Описание
coordinate Координата | undefined

Если указано, указатель будет установлен на предоставленные координаты. Если нет, будут использованы текущие координаты указателя.

Возвращает:
Вершина была вставлена.

на(тип, слушатель){EventsKey | Array<EventsKey>} унаследованный

Observable.js, строка 152

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

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

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

listener функция

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

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

once(type, listener){EventsKey | Array<EventsKey>} inherited

Observable.js, строка 164

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

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

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

listener функция

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

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

removePoint(coordinate){boolean}

interaction/Modify.js, строка 1471

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

Имя Тип Описание
coordinate Координата | undefined

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

Возвращает:
True, если вершина была удалена.

set(key, value, silent) inherited

Object.js, строка 215

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

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

Имя ключа.

value *

Значение.

silent boolean | undefined

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

setActive(active)

interaction/Modify.js, строка 534

Активировать или деактивировать взаимодействие.

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

Активный.

setProperties(values, silent) inherited

Object.js, строка 235

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

Имя Тип Описание
values Объект.<строка, *>

Значения.

silent boolean | undefined

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

un(type, listener) inherited

Observable.js, строка 173

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

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

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

listener функция

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

unset(key, silent) inherited

Object.js, строка 259

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

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

Имя ключа.

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_Modify-Modify.html

Spec-Zone.ru

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