geometryEditor.LineString
Расширяет IGeometryEditor.
Редактор геометрии "Ломаная линия".
Конструктор | Поля | События | Методы
Конструктор
Параметры:
Параметр | Значение по умолчанию | Описание |
---|---|---|
geometry * | — | Тип: ILineStringGeometry Геометрия "Ломаная линия". |
options | — | Тип: Object Опции редактора геометрии. |
options.dblClickHandler | — | Тип: Function Обработчик двойного щелчка по вершине. Принимает ссылку на модель редактируемой вершины. По умолчанию, обработчик определен функцией, удаляющей соответствующую вершину. |
options.drawingCursor | "arrow" | Тип: Boolean Курсор мыши в режиме добавления новых вершин. |
options.drawOver | true | Тип: Boolean Разрешает ставить точки поверх объектов карты в режиме добавления новых вершин. |
options.edgeInteractiveOptions | true | Тип: Boolean Позволяет использовать для промежуточных меток опции с постфиксами, привязанными к текущему состоянию метки. Доступны следующие постфиксы:
|
options.edgeLayout | — | Тип: Function Класс макета для промежуточных меток. |
options.maxPoints | Infinity | Тип: Number Максимальное допустимое число вершин в ломаной линии. |
options.menuManager | — | Тип: Function Диспетчер контекстного меню, открывающегося при щелчке по вершине. Принимает два аргумента:
|
options.minPoints | 0 | Тип: Number Минимально допустимое число вершин полилинии. |
options.useAutoPanInDrawing | true | Тип: Boolean Включается режим автоматического передвижения карты при перетаскивании вершины на границе. |
options.useMapMarginInDrawing | true | Тип: Boolean Нужно ли учитывать отступы карты в режиме рисования. |
options.vertexInteractiveOptions | true | Тип: Boolean Позволяет использовать для меток вершин опции с постфиксами, привязанными к текущему состоянию вершины. Доступны следующие постфиксы:
|
options.vertexLayout | — | Тип: Function Класс макета для меток на вершинах ломаной линии. |
Параметр | Значение по умолчанию | Описание |
---|---|---|
geometry * | — | Тип: ILineStringGeometry Геометрия "Ломаная линия". |
options | — | Тип: Object Опции редактора геометрии. |
options.dblClickHandler | — | Тип: Function Обработчик двойного щелчка по вершине. Принимает ссылку на модель редактируемой вершины. По умолчанию, обработчик определен функцией, удаляющей соответствующую вершину. |
options.drawingCursor | "arrow" | Тип: Boolean Курсор мыши в режиме добавления новых вершин. |
options.drawOver | true | Тип: Boolean Разрешает ставить точки поверх объектов карты в режиме добавления новых вершин. |
options.edgeInteractiveOptions | true | Тип: Boolean Позволяет использовать для промежуточных меток опции с постфиксами, привязанными к текущему состоянию метки. Доступны следующие постфиксы:
|
options.edgeLayout | — | Тип: Function Класс макета для промежуточных меток. |
options.maxPoints | Infinity | Тип: Number Максимальное допустимое число вершин в ломаной линии. |
options.menuManager | — | Тип: Function Диспетчер контекстного меню, открывающегося при щелчке по вершине. Принимает два аргумента:
|
options.minPoints | 0 | Тип: Number Минимально допустимое число вершин полилинии. |
options.useAutoPanInDrawing | true | Тип: Boolean Включается режим автоматического передвижения карты при перетаскивании вершины на границе. |
options.useMapMarginInDrawing | true | Тип: Boolean Нужно ли учитывать отступы карты в режиме рисования. |
options.vertexInteractiveOptions | true | Тип: Boolean Позволяет использовать для меток вершин опции с постфиксами, привязанными к текущему состоянию вершины. Доступны следующие постфиксы:
|
options.vertexLayout | — | Тип: Function Класс макета для меток на вершинах ломаной линии. |
* Обязательный параметр/опция.
Поля
Имя | Тип | Описание |
---|---|---|
events | IEventManager | Менеджер событий. Унаследовано от IEventEmitter. |
geometry | IGeometry | Редактируемая геометрия. Унаследовано от IGeometryEditor. |
options | IOptionManager | Менеджер опций. Унаследовано от ICustomizable. |
state | IDataManager | Менеджер состояния редактора геометрии. Поля данных, доступные посредством методов get и set:
|
Имя | Тип | Описание |
---|---|---|
events | IEventManager | Менеджер событий. Унаследовано от IEventEmitter. |
geometry | IGeometry | Редактируемая геометрия. Унаследовано от IGeometryEditor. |
options | IOptionManager | Менеджер опций. Унаследовано от ICustomizable. |
state | IDataManager | Менеджер состояния редактора геометрии. Поля данных, доступные посредством методов get и set:
|
События
Имя | Описание |
---|---|
beforeedgedrag | Событие, предшествующее событию "edgedrag". Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
beforeedgedragstart | Событие, предшествующее событию "edgedragstart". Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
beforevertexadd | Событие, предшествующее событию vertexadd. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
beforevertexdrag | Событие, предшествующее событию vertexdrag. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
beforevertexdragstart | Событие, предшествующее событию vertexdragstart. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
beforevertexdraw | Событие, предшествующее событию vertexdraw. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
drawingstart | Включение режима добавления новых вершин. Экземпляр класса Event. |
drawingstop | Отключение режима добавления новых вершин. Экземпляр класса Event. |
edgedrag | Перетаскивание промежуточной метки. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
edgedragend | |
edgedragstart | Начало перетаскивания промежуточной метки. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
editingstart | Включение режима редактирования вершин. Экземпляр класса Event. |
editingstop | Отключение режима редактирования вершин. Экземпляр класса Event. |
framingstart | Включение режима масштабирования. Экземпляр класса Event. |
framingstop | Отключение режима масштабирования. Экземпляр класса Event. |
optionschange | Изменение в опциях объекта. Унаследовано от ICustomizable. |
statechange | Изменение состояния редактора геометрии. Экземпляр класса Event. Унаследовано от IGeometryEditor. |
vertexadd | |
vertexdrag | Перетаскивание вершины. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
vertexdragend | |
vertexdragstart | Начало перетаскивания вершины. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
vertexdraw | Рисование новой вершины. Данное событие, как правило, предшествует событию добавления вершины и возникает в момент движения мышью при включенном режиме добавления новых вершин. На основе данных, передаваемых в данном событии, отображаются направляющие линии в режиме добавления новых вершин. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
Имя | Описание |
---|---|
beforeedgedrag | Событие, предшествующее событию "edgedrag". Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
beforeedgedragstart | Событие, предшествующее событию "edgedragstart". Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
beforevertexadd | Событие, предшествующее событию vertexadd. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
beforevertexdrag | Событие, предшествующее событию vertexdrag. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
beforevertexdragstart | Событие, предшествующее событию vertexdragstart. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
beforevertexdraw | Событие, предшествующее событию vertexdraw. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
drawingstart | Включение режима добавления новых вершин. Экземпляр класса Event. |
drawingstop | Отключение режима добавления новых вершин. Экземпляр класса Event. |
edgedrag | Перетаскивание промежуточной метки. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
edgedragend | |
edgedragstart | Начало перетаскивания промежуточной метки. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
editingstart | Включение режима редактирования вершин. Экземпляр класса Event. |
editingstop | Отключение режима редактирования вершин. Экземпляр класса Event. |
framingstart | Включение режима масштабирования. Экземпляр класса Event. |
framingstop | Отключение режима масштабирования. Экземпляр класса Event. |
optionschange | Изменение в опциях объекта. Унаследовано от ICustomizable. |
statechange | Изменение состояния редактора геометрии. Экземпляр класса Event. Унаследовано от IGeometryEditor. |
vertexadd | |
vertexdrag | Перетаскивание вершины. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
vertexdragend | |
vertexdragstart | Начало перетаскивания вершины. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
vertexdraw | Рисование новой вершины. Данное событие, как правило, предшествует событию добавления вершины и возникает в момент движения мышью при включенном режиме добавления новых вершин. На основе данных, передаваемых в данном событии, отображаются направляющие линии в режиме добавления новых вершин. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
Методы
Имя | Возвращает | Описание |
---|---|---|
getModel() | Возвращает объект-обещание, который подтверждается объектом модели в момент ее фактического создания, либо отклоняется с одним из следующих кодов ошибки:
| |
getModelSync() | Возвращает модель данных редактора или null, если на момент вызова она отсутствует. | |
getView() | Возвращает объект-обещание, который подтверждается объектом отображения в момент его фактического создания, либо отклоняется с одним из следующих кодов ошибки:
| |
getViewSync() | Возвращает отображение редактора или null, если на момент вызова оно отсутствует. | |
startDrawing() | Включает режим добавления новых вершин в ломаную линию. Включение происходит асинхронно. | |
startEditing() | Включает режим редактирования. Включение происходит асинхронно. | |
startFraming() | Включает режим масштабирования для ломаной линии. Включение происходит асинхронно. | |
stopDrawing() | Отключает режим добавления новых вершин в ломаную линию. | |
stopEditing() | Отключает режим редактирования. | |
stopFraming() | Отключает режим масштабирования. |
Имя | Возвращает | Описание |
---|---|---|
getModel() | Возвращает объект-обещание, который подтверждается объектом модели в момент ее фактического создания, либо отклоняется с одним из следующих кодов ошибки:
| |
getModelSync() | Возвращает модель данных редактора или null, если на момент вызова она отсутствует. | |
getView() | Возвращает объект-обещание, который подтверждается объектом отображения в момент его фактического создания, либо отклоняется с одним из следующих кодов ошибки:
| |
getViewSync() | Возвращает отображение редактора или null, если на момент вызова оно отсутствует. | |
startDrawing() | Включает режим добавления новых вершин в ломаную линию. Включение происходит асинхронно. | |
startEditing() | Включает режим редактирования. Включение происходит асинхронно. | |
startFraming() | Включает режим масштабирования для ломаной линии. Включение происходит асинхронно. | |
stopDrawing() | Отключает режим добавления новых вершин в ломаную линию. | |
stopEditing() | Отключает режим редактирования. | |
stopFraming() | Отключает режим масштабирования. |
Описание полей
state
{IDataManager} state
Менеджер состояния редактора геометрии.
Поля данных, доступные посредством методов get и set:
- editing - определяет включен ли редактор. Тип - Boolean. Значение по умолчанию - false.
- drawing - определяет включен ли режим добавления новых вершин. Тип - Boolean. Значение по умолчанию - false.
- drawingFrom - определяет то, как добавляются новые точки в режиме добавления. Может принимать одно из двух строковых значений: "begin" - точки добавляются в начало ломаной линии, "end"- точки добавляются в конец. Значение по умолчанию - "end".
Описание событий
beforeedgedrag
- pixelOffset - массив из двух чисел, описывающий пиксельный сдвиг на данном шаге;
- edgeModel - ссылка на модель перетаскиваемой метки;
- globalPixels - координаты перетаскиваемой метки в глобальных пиксельных координатах.
- setPixelOffset - метод, позволяющий скорректировать значение пиксельного сдвига, который будет фактически применен. В качестве аргумента принимает новый пиксельный сдвиг в виде массива из двух чисел.
beforeedgedragstart
- domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.
- edgeModel - ссылка на модель перетаскиваемой метки;
- globalPixels - координаты перетаскиваемой метки в глобальных пиксельных координатах.
beforevertexadd
- parentModel - ссылка на родительскую, для добавляемой вершины, модель данных;
- vertexIndex - индекс добавляемой вершины;
- globalPixels - координаты добавляемой вершины в глобальных пиксельных координатах.
- setGlobalPixels - метод позволяет скорректировать значения координат добавляемой вершины. В качестве аргумента принимает новые глобальные пиксельные координаты вершины в виде массива из двух чисел.
Пример:
// Корректируем координаты событий добавления вершин так, чтобы
// они не выходили за границы квадрата со стороной
// 100 пикселей и центром, совпадающим с центром карты.
polyline.editor.events.add(["beforevertexdraw", "beforevertexadd"], function (
event) {
var mapGlobalPixelCenter = geoMap.getGlobalPixelCenter(),
globalPixels = event.get("globalPixels"),
pixelBounds = [[mapGlobalPixelCenter[0] - 100,
mapGlobalPixelCenter[1] - 100], [mapGlobalPixelCenter[
0] + 100, mapGlobalPixelCenter[1] + 100]];
event.callMethod("setGlobalPixels", [Math.max(Math.min(globalPixels[
0], pixelBounds[1][0]), pixelBounds[0][0]), Math
.max(Math.min(globalPixels[1], pixelBounds[1][1]),
pixelBounds[0][1])]);
});
beforevertexdrag
- pixelOffset - массив из двух чисел, описывающий пиксельный сдвиг на данном шаге;
- vertexModel - ссылка на модель перетаскиваемой вершины;
- globalPixels - координаты перетаскиваемой вершины в глобальных пиксельных координатах.
- setPixelOffset - метод, позволяющий скорректировать значение пиксельного сдвига, который будет фактически применен. В качестве аргумента принимает новый пиксельный сдвиг в виде массива из двух чисел.
Пример:
// Инвертируем сдвиг при перетаскивании вершины.
polyline.editor.events.add("beforevertexdrag", function (event) {
var pixelOffset = event.get("pixelOffset");
event.callMethod("setPixelOffset", [-pixelOffset[0], -pixelOffset[
1]]);
});
beforevertexdragstart
- domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.
- vertexModel - ссылка на модель перетаскиваемой вершины;
- globalPixels - координаты перетаскиваемой вершины в глобальных пиксельных координатах.
beforevertexdraw
- parentModel - ссылка на родительскую, для добавляемой вершины, модель данных;
- vertexIndex - индекс добавляемой вершины;
- globalPixels - координаты добавляемой вершины в глобальных пиксельных координатах.
- setGlobalPixels - метод позволяет скорректировать значения координат добавляемой вершины. В качестве аргумента принимает новые глобальные пиксельные координаты вершины в виде массива из двух чисел.
drawingstart
Включение режима добавления новых вершин. Экземпляр класса Event.
drawingstop
Отключение режима добавления новых вершин. Экземпляр класса Event.
edgedrag
- pixelOffset - массив из двух чисел, описывающий пиксельный сдвиг на данном шаге;
- edgeModel - ссылка на модель перетаскиваемой метки;
- globalPixels - координаты перетаскиваемой метки в глобальных пиксельных координатах.
edgedragend
edgedragstart
- domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.
- edgeModel - ссылка на модель перетаскиваемой метки;
- globalPixels - координаты перетаскиваемой метки в глобальных пиксельных координатах.
editingstart
Включение режима редактирования вершин. Экземпляр класса Event.
editingstop
Отключение режима редактирования вершин. Экземпляр класса Event.
framingstart
Включение режима масштабирования. Экземпляр класса Event.
framingstop
Отключение режима масштабирования. Экземпляр класса Event.
vertexadd
vertexdrag
- pixelOffset - массив из двух чисел, описывающий пиксельный сдвиг на данном шаге;
- vertexModel - ссылка на модель перетаскиваемой вершины;
- globalPixels - координаты перетаскиваемой вершины в глобальных пиксельных координатах.
vertexdragend
vertexdragstart
- domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.
- vertexModel - ссылка на модель перетаскиваемой вершины;
- globalPixels - координаты перетаскиваемой вершины в глобальных пиксельных координатах.
vertexdraw
- parentModel - ссылка на родительскую, для добавляемой вершины, модель данных;
- vertexIndex - индекс добавляемой вершины;
- globalPixels - координаты добавляемой вершины в глобальных пиксельных координатах.
Описание методов
getModel
{vow.Promise} getModel()
- Canceled - режим редактирования отключен до момента фактического создания модели;
- Editor wasn't started - режим редактирования не включен.
getModelSync
{geometryEditor.model.RootLineString|null} getModelSync()
Возвращает модель данных редактора или null, если на момент вызова она отсутствует.
getView
{vow.Promise} getView()
- Canceled - режим редактирования отключен до момента фактического создания отображения;
- Editor wasn't started - режим редактирования не включен.
getViewSync
{geometryEditor.view.Path|null} getViewSync()
Возвращает отображение редактора или null, если на момент вызова оно отсутствует.
startDrawing
{vow.Promise} startDrawing()
Включает режим добавления новых вершин в ломаную линию. Включение происходит асинхронно.
- Canceled - режим добавления новых вершин отключен до момента его фактического старта.
startEditing
{vow.Promise} startEditing()
Включает режим редактирования. Включение происходит асинхронно.
- Canceled - режим редактирования отключен до момента его фактического старта.
startFraming
{vow.Promise} startFraming()
Включает режим масштабирования для ломаной линии. Включение происходит асинхронно.
Возвращает Promise, который подтверждается в момент фактического старта режима масштабирования.
stopDrawing
{} stopDrawing()
Отключает режим добавления новых вершин в ломаную линию.
stopEditing
{} stopEditing()
Отключает режим редактирования.
stopFraming
{} stopFraming()
Отключает режим масштабирования.