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)
-
Имя Тип Описание featuresCollection<Feature> | undefined Выполнять привязку к этим объектам. Необходимо указать этот параметр или source.
sourceVectorSource | undefined Выполнять привязку к объектам из этого источника. Необходимо указать этот параметр или features.
edgeboolean (по умолчанию true) Выполнять привязку к рёбрам.
vertexboolean (по умолчанию true) Выполнять привязку к вершинам.
intersectionboolean (по умолчанию false) Выполнять привязку к пересечениям сегментов.
pixelTolerancenumber (по умолчанию 10) Допуск в пикселях, определяющий, насколько близко указатель должен находиться к сегменту или вершине для привязки.
segmentersSegmenters | 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) — генерируется при отмене привязки.
-
Наследует
Наблюдаемые свойства
| Имя | Тип | Можно задать | Тип ObjectEvent | Описание |
|---|---|---|---|---|
active | boolean | да | change:active |
|
Методы
-
addFeature(feature, register)
-
Добавляет объект в коллекцию объектов, к которым можно выполнять привязку.
Имя Тип Описание featureFeature Объект.
registerboolean | undefined Следить ли за изменениями объекта. По умолчанию
true. -
changed() унаследован
-
Увеличивает счётчик ревизии и отправляет событие 'change'.
-
dispatchEvent(event){boolean | undefined} унаследован
-
Отправляет событие и вызывает все обработчики, ожидающие события этого типа. Параметр event может быть строкой или объектом со свойством
type.Имя Тип Описание eventBaseEvent | string Объект события.
Возвращает:
false, если кто-либо вызвал preventDefault для объекта события или любой из обработчиков вернул false.
-
get(key){*} унаследован
-
Получает значение.
Имя Тип Описание keystring Имя ключа.
Возвращает:
Значение.
-
getActive(){boolean} унаследован
-
Возвращает, активно ли взаимодействие в данный момент.
Возвращает:
true, если взаимодействие активно, иначеfalse.
-
getKeys(){Array.<string>} унаследован
-
Возвращает список имён свойств объекта.
Возвращает:
Список имён свойств.
-
getMap(){Map | null} унаследован
-
Возвращает карту, связанную с этим взаимодействием.
Возвращает:
Карта.
-
getPointerCount(){number} унаследован
-
Возвращает текущее количество указателей, участвующих во взаимодействии, например
2при использовании двух пальцев.Возвращает:
Количество указателей.
-
getProperties(){NoInfer.<Properties>} унаследован
-
Возвращает объект со всеми именами свойств и их значениями.
Возвращает:
Объект.
-
getRevision(){number} унаследован
-
Возвращает номер версии объекта. При каждом изменении объекта номер версии увеличивается.
Возвращает:
Ревизия.
-
handleEvent(evt){boolean}
-
Имя Тип Описание evtMapBrowserEvent Событие браузера карты.
Возвращает:
false, чтобы остановить распространение события.
-
on(type, listener){EventsKey | Array<EventsKey>} унаследован
-
Ожидает событие указанного типа.
Имя Тип Описание typestring | Array.<string> Тип события или массив типов событий.
listenerfunction Функция-обработчик.
Возвращает:
Уникальный ключ обработчика. Если в качестве первого аргумента передан массив типов событий, возвращается массив ключей.
-
once(type, listener){EventsKey | Array<EventsKey>} унаследован
-
Однократно ожидает событие указанного типа.
Имя Тип Описание typestring | Array.<string> Тип события или массив типов событий.
listenerfunction Функция-обработчик.
Возвращает:
Уникальный ключ обработчика. Если в качестве первого аргумента передан массив типов событий, возвращается массив ключей.
-
removeFeature(feature, unlisten)
-
Удаляет объект из коллекции объектов, к которым можно выполнять привязку.
Имя Тип Описание featureFeature Объект.
unlistenboolean | undefined Прекратить ли отслеживать изменения объекта. По умолчанию
true. -
set(key, value, silent) унаследован
-
Задаёт значение.
Имя Тип Описание keystring Имя ключа.
value* Значение.
silentboolean | undefined Обновить без отправки события.
-
setActive(active) унаследован
-
Активирует или деактивирует взаимодействие.
Имя Тип Описание activeboolean Активно.
-
setProperties(values, silent) унаследован
-
Задаёт набор пар «ключ—значение». Обратите внимание: существующие свойства изменяются, а новые добавляются (имеющиеся свойства не удаляются).
Имя Тип Описание valuesPartial.<NoInfer.<Properties>> Значения.
silentboolean | undefined Обновить без отправки события.
-
un(type, listener) унаследован
-
Прекращает ожидание события указанного типа.
Имя Тип Описание typestring | Array.<string> Тип события или массив типов событий.
listenerfunction Функция-обработчик.
-
unset(key, silent) унаследован
-
Удаляет свойство.
Имя Тип Описание 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_Snap-Snap.html