ol/interaction/Draw~Draw
import Draw from 'ol/interaction/Draw.js';
Интеракция для рисования геометрий объектов.
-
new Draw(options)
-
Имя Тип Описание typeТип Тип геометрии, рисуемой с помощью этого экземпляра.
clickToleranceчисло (по умолчанию 6) Максимальное расстояние в пикселях между событиями «нажатие» и «отпускание» для того, чтобы событие «отпускание» считалось событием «щелчок» и фактически добавляло точку/вершину в рисуемую геометрию. Значение по умолчанию
6было выбрано для корректной работы взаимодействия рисования как с мышью, так и с сенсорными устройствами.featuresКоллекция<Объект> | undefined Целевая коллекция для нарисованных объектов.
sourceИсточник векторов | undefined Целевой источник для нарисованных объектов.
dragVertexDelayчисло (по умолчанию 500) Задержка в миллисекундах после события pointerdown, перед тем как текущая вершина может быть перетащена в точное положение.
snapToleranceчисло (по умолчанию 12) Расстояние в пикселях для привязки к завершению рисования. Должно быть больше, чем
0.stopClickлогическое (по умолчанию false) Прекратить обработку событий щелчка, одиночного щелчка и двойного щелчка во время рисования.
maxPointsчисло | undefined Количество точек, которое можно нарисовать, прежде чем закроется полигональная линия или линия.
minPointsчисло | undefined Количество точек, которые должны быть нарисованы, прежде чем полигональная линия или линия могут быть завершены. По умолчанию это
3для полигональных линий и2для линий.finishConditionУсловие | undefined Функция, которая принимает
MapBrowserEventи возвращает булево значение, указывающее, можно ли завершить рисование. Не используется при рисовании геометрий ТОЧКА или МНОГОТОЧЕК.styleСтиль | Плоский стиль | undefined Стиль для объектов эскиза. Взаимодействие рисования может содержать до трёх объектов эскиза в зависимости от режима. Он всегда содержит объект с геометрией
Point, соответствующей текущему положению курсора. Если режим равенLineStringилиPolygon, и есть хотя бы одна нарисованная точка, он также будет содержать объект с геометриейLineString, соответствующей линии между уже нарисованными точками и текущим положением курсора. Если режим равенPolygon, и есть хотя бы одна нарисованная точка, он также будет содержать объект с геометриейPolygon, соответствующей многоугольнику между уже нарисованными точками и текущим положением курсора (обратите внимание, что этот многоугольник имеет только две точки, если нарисована только одна точка). Если режим равенCircle, и нарисована одна точка, он также будет содержать объект с геометриейCircle, центр которой совпадает с нарисованной точкой, а радиус определяется расстоянием между нарисованной точкой и курсором.geometryFunctionФункция геометрии | undefined Функция, вызываемая при обновлении координат геометрии.
geometryNameстрока | undefined Имя геометрии, используемое для объектов, созданных с помощью взаимодействия рисования.
conditionУсловие | undefined Функция, которая принимает
MapBrowserEventи возвращает булево значение, указывающее, нужно ли обработать это событие. По умолчаниюnoModifierKeys, т. е. щелчок, добавляет вершину или деактивирует рисование по свободной траектории.freehandлогическое (по умолчанию false) Работать в режиме рисования по свободной траектории для линий, многоугольников и окружностей. Это всегда включает режим рисования по свободной траектории и имеет приоритет над любым параметром
freehandCondition.freehandConditionУсловие | undefined Условие, активирующее рисование по свободной траектории для линий и многоугольников. Эта функция принимает
MapBrowserEventи возвращает булево значение, указывающее, нужно ли обработать это событие. По умолчаниюshiftKeyOnly, что означает, что клавиша Shift активирует рисование по свободной траектории.traceлогическое | Условие (по умолчанию false) Проследить часть другой геометрии. Игнорируется, когда используется режим рисования по свободной траектории.
traceSourceИсточник векторов | undefined Источник объектов для прослеживания. Если прослеживание включено и не указан
traceSource, будет использованsourceвзаимодействия. Прослеживание требует, чтобы взаимодействие было настроено с помощьюtraceSourceилиsource.wrapXлогическое (по умолчанию false) Оборачивание мира по горизонтали на слое эскиза.
geometryLayoutМакет геометрии (по умолчанию 'XY') Макет геометрии объектов, созданных с помощью взаимодействия рисования.
Вызывает:
-
change(BaseEvent) - Общее событие изменения. Вызывается при увеличении счётчика ревизий. -
change:active(ObjectEvent) -
drawabort(DrawEvent) - Вызывается при прерывании рисования объекта. -
drawend(DrawEvent) - Вызывается при завершении рисования объекта. -
drawstart(DrawEvent) - Вызывается при начале рисования объекта. -
error(BaseEvent) - Общее событие ошибки. Вызывается при возникновении ошибки. -
propertychange(ObjectEvent) - Вызывается при изменении свойства.
-
Расширяет
Наблюдаемые свойства
| Имя | Тип | Устанавливаемое | ObjectEvent тип | Описание |
|---|---|---|---|---|
active | логическое | да | change:active |
|
Методы
-
abortDrawing()
-
Остановьте рисование, не добавляя чертежный элемент на целевой слой.
-
appendCoordinates(coordinates)
-
Добавьте координаты в конец геометрии, которая в данный момент рисуется. Это может использоваться при рисовании LineStrings или Polygons. Координаты будут добавлены либо к текущей LineString, либо к внешнему контуру текущего Polygon. Если геометрия не рисуется, будет создана новая.
Имя Тип Описание coordinatesLineCoordType Линейные координаты, которые будут добавлены в массив координат.
-
changed() inherited
-
Увеличивает счетчик ревизий и отправляет событие 'change'.
-
dispatchEvent(event){boolean | undefined} inherited
-
Отправляет событие и вызывает всех слушателей, подписанных на события этого типа. Параметр event может быть строкой или объектом со свойством
type.Имя Тип Описание eventBaseEvent | string Объект события.
Возвращает:
false, если кто-то вызвал preventDefault для объекта события или если любой из слушателей вернул false.
-
extend(feature)
-
Запускает режим рисования, начиная с существующей геометрии, которая получит новые дополнительные точки. Это работает только с геометриями, где взаимодействие будет расширять линии, добавляя точки в конец массива координат. Это изменит исходный элемент, а не нарисует копию.
Функция отправит событие
drawstart.Имя Тип Описание featureFeature<LineString> Расширяемый элемент.
-
finishDrawing(){Feature<SimpleGeometry> | null}
-
Остановьте рисование и добавьте чертежный элемент на целевой слой. Событие
DRAWENDотправляется перед вставкой элемента.Возвращает:
Нарисованный элемент.
-
Получение значения.
Имя Тип Описание keystring Имя ключа.
Возвращает:
Значение.
-
getActive(){boolean} inherited
-
Возвращает, активен ли в данный момент интерактивный элемент.
Возвращает:
true, если интерактивный элемент активен,falseв противном случае.
-
Получить список имен свойств объекта.
Возвращает:
Список имен свойств.
-
Получить карту, связанную с этим взаимодействием.
Возвращает:
Карта.
-
getOverlay(){VectorLayer}
-
Получить слой наложения, на который этот интерактивный элемент рендерит чертежные элементы.
Возвращает:
Слой наложения.
-
getPointerCount(){number} inherited
-
Возвращает текущее количество указателей, участвующих во взаимодействии, например,
2, когда используется два пальца.Возвращает:
Количество указателей.
-
Получить объект со всеми именами и значениями свойств.
Возвращает:
Объект.
-
getRevision(){number} inherited
-
Получить номер версии для этого объекта. Каждый раз при изменении объекта его номер версии будет увеличен.
Возвращает:
Revision.
-
handleEvent(event){boolean}
-
Обрабатывает событие
map browser eventи, возможно, выполняет отрисовку или завершает отрисовку.Имя Тип Описание eventMapBrowserEvent Событие браузера карты.
Возвращает:
falseдля остановки распространения события.
-
Прослушивает событие определенного типа.
Имя Тип Описание typestring | Array.<string> Тип события или массив типов событий.
listenerfunction Функция-слушатель.
Возвращает:
Уникальный ключ для слушателя. Если вызван с массивом типов событий в качестве первого аргумента, возвращаемое значение будет массивом ключей.
-
Прослушивать событие определенного типа один раз.
Имя Тип Описание typestring | Array.<string> Тип события или массив типов событий.
listenerfunction Функция-слушатель.
Возвращает:
Уникальный ключ для слушателя. Если вызван с массивом типов событий в качестве первого аргумента, возвращаемое значение будет массивом ключей.
-
removeLastPoint()
-
Удалить последнюю точку текущего чертежа. Не делает ничего при рисовании геометрий POINT или MULTI_POINT.
-
Устанавливает значение.
Имя Тип Описание keystring Имя ключа.
value* Значение.
silentboolean | undefined Обновить без срабатывания события.
-
setActive(active) inherited
-
Активировать или деактивировать взаимодействие.
Имя Тип Описание activeboolean Активный.
-
Устанавливает коллекцию пар ключ-значение. Обратите внимание, что это изменяет любые существующие свойства и добавляет новые (это не удаляет любые существующие свойства).
Имя Тип Описание valuesObject.<string, *> Значения.
silentboolean | undefined Обновить без срабатывания события.
-
un(type, listener) inherited
-
Отменить прослушивание события определенного типа.
Имя Тип Описание typestring | Array.<string> Тип события или массив типов событий.
listenerfunction Функция-слушатель.
-
Удаляет свойство.
Имя Тип Описание 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_interaction_Draw-Draw.html