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, строка 110
Имя Тип Описание
features Collection<Feature> | undefined

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

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

Привязка к границам.

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

Привязка к вершинам.

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

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

source VectorSource | undefined

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

Срабатывает:
  • change (BaseEvent) — Общее событие изменения. Срабатывает, когда увеличивается счётчик ревизий.
  • change:active (ObjectEvent)
  • error (BaseEvent) — Общее событие об ошибке. Срабатывает при возникновении ошибки.
  • propertychange (ObjectEvent) — Срабатывает при изменении свойства.
  • snap (SnapEvent) — Срабатывает при привязке к вершине или ребру

Расширяет

  • PointerInteraction

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

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

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

Методы

addFeature(feature, register)

interaction/Snap.js, line 238

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

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

Объект.

register boolean | undefined

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

changed() inherited

Observable.js, line 68

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

dispatchEvent(event){boolean | undefined} inherited

events/Target.js, line 85

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

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

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

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

get(key){*} inherited

Object.js, line 135

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

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

Имя ключа.

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

getActive(){boolean} inherited

interaction/Interaction.js, line 82

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

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

getKeys(){Array.<string>} inherited

Object.js, line 148

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

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

getMap(){Map | null} inherited

interaction/Interaction.js, line 91

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

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

getPointerCount(){number} inherited

interaction/Pointer.js, line 95

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

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

getProperties(){Object.<string, *>} inherited

Object.js, line 157

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

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

getRevision(){number} inherited

Observable.js, line 79

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

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

handleEvent(evt){boolean}

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

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

Возвращает:
false для остановки распространения события.

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

Observable.js, line 152

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

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

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

listener function

Функция-слушатель.

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

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

Observable.js, line 164

Прослушать определённый тип события один раз.

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

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

listener function

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

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

removeFeature(feature, unlisten)

interaction/Snap.js, строка 374

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

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

Элемент

unlisten boolean | undefined

Необходимо ли отписаться от изменений элемента. По умолчанию true.

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

Object.js, строка 215

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

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

Имя ключа.

value *

Значение.

silent boolean | undefined

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

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

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

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

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

Активно.

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

Object.js, строка 235

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

Имя Тип Описание
values Object.<string, *>

Значения.

silent boolean | undefined

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

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

Observable.js, строка 173

Отписаться от определённого типа события.

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

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

listener function

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

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

Object.js, строка 259

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

Имя Тип Описание
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