Spec-Zone.ru › OpenLayers

ol/interaction/Draw~Draw


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

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

new Draw(options)

interaction/Draw.js, строка 218
Имя Тип Описание
type Type

Тип геометрии объектов, рисуемых этим экземпляром.

clickTolerance number (по умолчанию 6)

Максимальное расстояние в пикселях между событиями «down» и «up», при котором событие «up» считается событием «click» и фактически добавляет точку/вершину к рисуемой геометрии. Значение по умолчанию 6 выбрано, чтобы взаимодействие рисования корректно работало как с мышью, так и на сенсорных устройствах.

features Collection<Feature> | undefined

Коллекция, в которую помещаются нарисованные объекты.

source VectorSource | undefined

Источник, в который помещаются нарисованные объекты.

dragVertexDelay number (по умолчанию 500)

Задержка в миллисекундах после pointerdown, по истечении которой текущую вершину можно перетащить в точное положение.

snapTolerance number (по умолчанию 12)

Расстояние в пикселях для привязки к завершению рисования. Должно быть больше 0.

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

Отключает генерацию событий click, singleclick и doubleclick во время рисования.

maxPoints number | undefined

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

minPoints number | undefined

Количество точек, которые необходимо нарисовать, прежде чем можно будет завершить кольцо полигона или линейную строку. По умолчанию для колец полигонов используется 3, а для линейных строк — 2.

finishCondition Condition | undefined

Функция, принимающая MapBrowserEvent и возвращающая логическое значение, которое указывает, можно ли завершить рисование. Не используется при рисовании геометрий POINT или MULTI_POINT.

style StyleLike | FlatStyleLike | undefined

Стиль эскизных объектов. В зависимости от режима взаимодействие рисования может содержать до трёх эскизных объектов. Оно всегда будет содержать объект с геометрией Point, соответствующей текущему положению курсора. Если выбран режим LineString или Polygon и нарисована хотя бы одна точка, оно также будет содержать объект с геометрией LineString, соответствующей линии между уже нарисованными точками и текущим положением курсора. Если выбран режим Polygon и нарисована хотя бы одна точка, оно также будет содержать объект с геометрией Polygon, соответствующей полигону между уже нарисованными точками и текущим положением курсора (обратите внимание, что при рисовании только одной точки этот полигон содержит лишь две точки). Если выбран режим Circle и нарисована одна точка, оно также будет содержать объект с геометрией Circle, центр которой совпадает с нарисованной точкой, а радиус определяется расстоянием между нарисованной точкой и курсором.

geometryFunction GeometryFunction | undefined

Функция, вызываемая при обновлении координат геометрии.

geometryName string | undefined

Имя геометрии, используемое для объектов, создаваемых взаимодействием рисования.

condition Condition | undefined

Функция, принимающая MapBrowserEvent и возвращающая логическое значение, указывающее, нужно ли обработать это событие. По умолчанию используется noModifierKeys, то есть щелчок добавляет вершину или отключает рисование от руки.

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

Включает режим рисования от руки для линий, полигонов и окружностей. В этом режиме взаимодействие всегда работает в режиме рисования от руки, который имеет приоритет над параметром freehandCondition.

freehandCondition Condition | undefined

Условие, активирующее рисование от руки для линий и полигонов. Эта функция принимает MapBrowserEvent и возвращает логическое значение, указывающее, нужно ли обработать это событие. По умолчанию используется shiftKeyOnly, то есть рисование от руки активируется клавишей Shift.

trace boolean | Condition (по умолчанию false)

Обводить часть другой геометрии. Игнорируется в режиме рисования от руки.

traceSource VectorSource | undefined

Источник объектов для обводки. Если обводка активна и traceSource не задан, будет использоваться source взаимодействия. Для обводки необходимо настроить взаимодействие с помощью traceSource или source.

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

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

geometryLayout GeometryLayout (по умолчанию 'XY')

Структура координат геометрий объектов, создаваемых взаимодействием рисования.

Генерируемые события:
  • change (BaseEvent) — Общее событие изменения. Вызывается при увеличении счётчика ревизий.
  • change:active (ObjectEvent)
  • drawabort (DrawEvent) — Вызывается при отмене рисования объекта
  • drawend (DrawEvent) — Вызывается по завершении рисования объекта
  • drawstart (DrawEvent) — Вызывается при начале рисования объекта
  • error (BaseEvent) — Общее событие ошибки. Вызывается при возникновении ошибки.
  • propertychange (ObjectEvent) — Вызывается при изменении свойства.

Наследует

  • PointerInteraction

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

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

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

Методы

abortDrawing()

interaction/Draw.js, строка 1425

Прекратить рисование, не добавляя создаваемый объект на целевой слой.

appendCoordinates(coordinates)

interaction/Draw.js, строка 1441

Добавить координаты в конец геометрии, которая в данный момент создаётся. Это можно использовать при рисовании LineString или Polygon. Координаты будут добавлены либо к текущему LineString, либо к внешнему кольцу текущего Polygon. Если геометрия не создаётся, будет создана новая.

Имя Тип Описание
coordinates LineCoordType

Линейные координаты, которые нужно добавить в массив координат.

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

Observable.js, строка 68

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

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

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

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

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

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

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

extend(feature)

interaction/Draw.js, строка 1490

Запускает режим рисования, начиная с существующей геометрии, к которой будут добавлены новые точки. Работает только с объектами, имеющими геометрии LineString, в которых взаимодействие расширяет линии, добавляя точки в конец массива координат. При этом изменяется исходный объект, а не создаётся его копия.

Функция отправляет событие drawstart.

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

Объект, который нужно расширить.

finishDrawing(){Feature<SimpleGeometry> | null}

interaction/Draw.js, строка 1358

Прекратить рисование и добавить создаваемый объект на целевой слой. Событие DRAWEND отправляется до добавления объекта.

Возвращает:
Нарисованный объект.

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

Object.js, строка 136

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

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

Имя ключа.

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

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

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

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

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

getFreehand(){boolean}

interaction/Draw.js, строка 646

Возвращает, включён ли для этого взаимодействия режим рисования от руки.

Возвращает:
Рисование от руки.

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

Object.js, строка 149

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

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

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

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

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

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

getOverlay(){VectorLayer}

interaction/Draw.js, строка 637

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

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

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

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

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

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

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

Object.js, строка 158

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

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

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

Observable.js, строка 79

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

Возвращает:
Номер ревизии.

handleEvent(event){boolean}

interaction/Draw.js, строка 657

Обрабатывает событие map browser event и может выполнять рисование или завершать его.

Имя Тип Описание
event MapBrowserEvent<PointerEvent>

Событие браузера карты.

Возвращает:
false, чтобы остановить распространение события.

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

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

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

removeLastPoint()

interaction/Draw.js, строка 1347

Удаляет последнюю точку объекта, который создаётся в данный момент. Ничего не делает при рисовании геометрий POINT или MULTI_POINT.

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

Object.js, строка 218

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

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

Имя ключа.

value *

Значение.

silent boolean | undefined

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

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

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

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

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

Активно.

setFreehand(freehand)

interaction/Draw.js, строка 620

Задаёт, выполняется ли рисование в режиме рисования от руки.

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

Рисование от руки.

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

Object.js, строка 238

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

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

Значения.

silent boolean | undefined

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

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_Draw-Draw.html

Spec-Zone.ru

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