Spec-Zone.ru › OpenLayers

ol/interaction/Snap~Snap


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

Обрабатывает привязку векторных объектов при их изменении или создании. Объекты могут поступать из VectorSource или Collection. Любой объект взаимодействия, позволяющий пользователю работать с объектами с помощью мыши, может использовать привязку, если он добавлен заранее.

Взаимодействие привязки изменяет свойства событий браузера карты coordinate и pixel, чтобы принудительно выполнять привязку для любого взаимодействия, которое их использует.

Пример:

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

const snap = new Snap({
  source: source
});

map.addInteraction(snap);

new Snap(options)

interaction/Snap.js, line 320
Имя Тип Описание
features Collection<Feature> | undefined

Выполнять привязку к этим объектам. Необходимо указать этот параметр или source.

source VectorSource | undefined

Выполнять привязку к объектам из этого источника. Необходимо указать этот параметр или features.

edge boolean (по умолчанию true)

Выполнять привязку к рёбрам.

vertex boolean (по умолчанию true)

Выполнять привязку к вершинам.

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

Выполнять привязку к пересечениям сегментов.

pixelTolerance number (по умолчанию 10)

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

segmenters Segmenters | undefined

Пользовательские сегментаторы для Type. По умолчанию используются следующие сегментаторы:

  • Point: одномерный сегмент (например, [[10, 20]]), представляющий точку.
  • LineString: один двумерный сегмент (например, [[10, 20], [30, 40]]) для каждого сегмента линии.
  • Polygon: один двумерный сегмент для каждого сегмента внешнего и внутренних колец.
  • Circle: один двумерный сегмент для каждого сегмента правильного многоугольника из 32 точек, представляющего окружность.
  • GeometryCollection: все сегменты содержащихся геометрических объектов.
  • MultiPoint: один одномерный сегмент для каждой точки.
  • MultiLineString: один двумерный сегмент для каждого сегмента линий.
  • MultiPolygon: один двумерный сегмент для каждого сегмента многоугольников.
Генерируемые события:
  • change (BaseEvent) — общее событие изменения. Генерируется при увеличении счётчика ревизии.
  • change:active (ObjectEvent)
  • error (BaseEvent) — общее событие ошибки. Генерируется при возникновении ошибки.
  • propertychange (ObjectEvent) — генерируется при изменении свойства.
  • snap (SnapEvent) — генерируется при привязке к вершине или ребру.
  • unsnap (SnapEvent) — генерируется при отмене привязки.

Наследует

  • PointerInteraction

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

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

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

Методы

addFeature(feature, register)

interaction/Snap.js, line 446

Добавляет объект в коллекцию объектов, к которым можно выполнять привязку.

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

Объект.

register boolean | undefined

Следить ли за изменениями объекта. По умолчанию true.

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

Observable.js, line 68

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

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

events/Target.js, line 85

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

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

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

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

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

Object.js, line 136

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

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

Имя ключа.

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

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

interaction/Interaction.js, line 82

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

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

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

Object.js, line 149

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

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

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

interaction/Interaction.js, line 91

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

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

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

interaction/Pointer.js, line 95

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

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

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

Object.js, line 158

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

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

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

Observable.js, line 79

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

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

handleEvent(evt){boolean}

interaction/Snap.js, line 578
Имя Тип Описание
evt MapBrowserEvent

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

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

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

Observable.js, line 152

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

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

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

listener function

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

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

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

Observable.js, line 164

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

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

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

listener function

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

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

removeFeature(feature, unlisten)

interaction/Snap.js, line 666

Удаляет объект из коллекции объектов, к которым можно выполнять привязку.

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

Объект.

unlisten boolean | undefined

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

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

Object.js, line 218

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

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

Имя ключа.

value *

Значение.

silent boolean | undefined

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

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

interaction/Interaction.js, line 111

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

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

Активно.

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

Object.js, line 238

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

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

Значения.

silent boolean | undefined

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

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

Observable.js, line 173

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

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

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

listener function

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

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

Object.js, line 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_Snap-Snap.html

Spec-Zone.ru

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