---
metadata:
  - name: generator
    content: Diplodoc Platform v5.39.1
alternate:
  - https://yandex.ru/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/geometryEditor.LineString.md
  - https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometryEditor.LineString.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/dev/jsapi-v2-1/doc/ru/llms.txt

# geometryEditor.LineString

Расширяет [IGeometryEditor](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IGeometryEditor.md).

Редактор геометрии "Ломаная линия".

[Конструктор](#constructor-summary) | [Поля ](#properties-summary) | [События ](#events-summary) | [Методы ](#methods-summary)

## Конструктор {#constructor-summary}

```javascript
geometryEditor.LineString(geometry[, options])
```

**Параметры:**

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`geometry`](#param-geometry)[*](*star) | — | Тип: [ILineStringGeometry](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometry.md)

Геометрия "Ломаная линия". ||
|| [`options`](#param-options) | — | Тип: Object

Опции редактора геометрии. ||
|| [`options.dblClickHandler`](#param-options.dblClickHandler) | — | Тип: Function

Обработчик двойного щелчка по вершине. Принимает ссылку на модель редактируемой вершины. По умолчанию, обработчик определен функцией, удаляющей соответствующую вершину. ||
|| [`options.drawingCursor`](#param-options.drawingCursor) | "arrow" | Тип: Boolean

Курсор мыши в режиме добавления новых вершин. ||
|| [`options.drawOver`](#param-options.drawOver) | true | Тип: Boolean

Разрешает ставить точки поверх объектов карты в режиме добавления новых вершин. ||
|| [`options.edgeInteractiveOptions`](#param-options.edgeInteractiveOptions) | true | Тип: Boolean

Позволяет использовать для промежуточных меток опции с постфиксами, привязанными к текущему состоянию метки. Доступны следующие постфиксы:
- Hover — опции с данным постфиксом применяются при наведении на метку указателя мыши;
- Drag — опции с данным постфиксом применяются при перетаскивании метки.
Примеры таких опций: edgeLayoutHover, edgeIconImageSizeActive, edgeIconImageShapeHover и т. д. Если вам не требуется менять опции промежуточных меток в зависимости от их состояния, то нужно отключить данную опцию. ||
|| [`options.edgeLayout`](#param-options.edgeLayout) | — | Тип: Function

Класс макета для промежуточных меток. ||
|| [`options.maxPoints`](#param-options.maxPoints) | Infinity | Тип: Number

Максимальное допустимое число вершин в ломаной линии. ||
|| [`options.menuManager`](#param-options.menuManager) | — | Тип: Function

Диспетчер контекстного меню, открывающегося при щелчке по вершине. Принимает два аргумента:
- массив объектов, описывающих пункты контекстного меню для этой вершины;
- ссылку на модель редактируемой вершины.
Диспетчер может изменять данные в переданном массиве. Должен возвращать массив объектов, описывающих пункты контекстного меню. ||
|| [`options.minPoints`](#param-options.minPoints) | 0 | Тип: Number

Минимально допустимое число вершин полилинии. ||
|| [`options.useAutoPanInDrawing`](#param-options.useAutoPanInDrawing) | true | Тип: Boolean

Включается режим автоматического передвижения карты при перетаскивании вершины на границе. ||
|| [`options.useMapMarginInDrawing`](#param-options.useMapMarginInDrawing) | true | Тип: Boolean

Нужно ли учитывать отступы карты в режиме рисования. ||
|| [`options.vertexInteractiveOptions`](#param-options.vertexInteractiveOptions) | true | Тип: Boolean

Позволяет использовать для меток вершин опции с постфиксами, привязанными к текущему состоянию вершины. Доступны следующие постфиксы:
- Hover — опции с данным постфиксом применяются при наведении на вершину метки указателя мыши;
- Drag — опции с данным постфиксом применяются при перетаскивании вершины.
- Active — опции с данным постфиксом применяются когда для вершины открыто контекстное меню.
Примеры таких опций: vertexLayoutHover, vertexIconImageSizeActive, vertexIconImageShapeHover и т. д. Если вам не требуется менять опции меток вершин в зависимости от их состояния, то нужно отключить данную опцию. ||
|| [`options.vertexLayout`](#param-options.vertexLayout) | — | Тип: Function

Класс макета для меток на вершинах ломаной линии. ||
|#

\* Обязательный параметр/опция.

## Поля {#properties-summary}

#|
|| **Имя** | **Тип** | **Описание** ||
|| [events](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventEmitter.md#events) | [IEventManager](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md) | Менеджер событий.

Унаследовано от [IEventEmitter](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventEmitter.md#events). ||
|| [geometry](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IGeometryEditor.md#geometry) | [IGeometry](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IGeometry.md) | Редактируемая геометрия.

Унаследовано от [IGeometryEditor](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IGeometryEditor.md#geometry). ||
|| [options](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ICustomizable.md#options) | [IOptionManager](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IOptionManager.md) | Менеджер опций.

Унаследовано от [ICustomizable](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ICustomizable.md#options). ||
|| [state](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometryEditor.LineString.md#state) | [IDataManager](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IDataManager.md) | Менеджер состояния редактора геометрии.

Поля данных, доступные посредством методов get и set:

- editing - определяет включен ли редактор. Тип - Boolean. Значение по умолчанию - false.
- drawing - определяет включен ли режим добавления новых вершин. Тип - Boolean. Значение по умолчанию - false.
- drawingFrom - определяет то, как добавляются новые точки в режиме добавления. Может принимать одно из двух строковых значений: "begin" - точки добавляются в начало ломаной линии, "end"- точки добавляются в конец. Значение по умолчанию - "end". ||
|#

## События {#events-summary}

#|
|| **Имя** | **Описание** ||
|| [beforeedgedrag](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometryEditor.LineString.md#event-beforeedgedrag) | Событие, предшествующее событию "edgedrag". Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- pixelOffset - массив из двух чисел, описывающий пиксельный сдвиг на данном шаге;
- edgeModel - ссылка на модель перетаскиваемой метки;
- globalPixels - координаты перетаскиваемой метки в глобальных пиксельных координатах.
Имена методов, доступных через метод [Event.callMethod](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#callMethod):
- setPixelOffset - метод, позволяющий скорректировать значение пиксельного сдвига, который будет фактически применен. В качестве аргумента принимает новый пиксельный сдвиг в виде массива из двух чисел.
Если у данного события вызвать метод [Event.preventDefault](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#preventDefault), то последующее событие "edgedrag" будет отменено. ||
|| [beforeedgedragstart](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometryEditor.LineString.md#event-beforeedgedragstart) | Событие, предшествующее событию "edgedragstart". Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- domEvent - исходное DOM-событие (в виде объекта [DomEvent](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/DomEvent.md)), если оно имеется.
- edgeModel - ссылка на модель перетаскиваемой метки;
- globalPixels - координаты перетаскиваемой метки в глобальных пиксельных координатах.
Если у данного события вызвать метод [Event.preventDefault](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#preventDefault), то последующее перетаскивание, как и событие "edgedragstart", будет отменено. ||
|| [beforevertexadd](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometryEditor.LineString.md#event-beforevertexadd) | Событие, предшествующее событию vertexadd. Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- parentModel - ссылка на родительскую, для добавляемой вершины, модель данных;
- vertexIndex - индекс добавляемой вершины;
- globalPixels - координаты добавляемой вершины в глобальных пиксельных координатах.
Имена методов, доступных через метод [Event.callMethod](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#callMethod):
- setGlobalPixels - метод позволяет скорректировать значения координат добавляемой вершины. В качестве аргумента принимает новые глобальные пиксельные координаты вершины в виде массива из двух чисел.
Если у данного события вызвать метод [Event.preventDefault](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#preventDefault), то последующее событие "vertexadd" будет отменено. ||
|| [beforevertexdrag](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometryEditor.LineString.md#event-beforevertexdrag) | Событие, предшествующее событию vertexdrag. Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- pixelOffset - массив из двух чисел, описывающий пиксельный сдвиг на данном шаге;
- vertexModel - ссылка на модель перетаскиваемой вершины;
- globalPixels - координаты перетаскиваемой вершины в глобальных пиксельных координатах.
Имена методов, доступных через метод [Event.callMethod](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#callMethod):
- setPixelOffset - метод, позволяющий скорректировать значение пиксельного сдвига, который будет фактически применен. В качестве аргумента принимает новый пиксельный сдвиг в виде массива из двух чисел.
Если у данного события вызвать метод [Event.preventDefault](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#preventDefault), то последующее событие "vertexdrag" будет отменено. ||
|| [beforevertexdragstart](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometryEditor.LineString.md#event-beforevertexdragstart) | Событие, предшествующее событию vertexdragstart. Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- domEvent - исходное DOM-событие (в виде объекта [DomEvent](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/DomEvent.md)), если оно имеется.
- vertexModel - ссылка на модель перетаскиваемой вершины;
- globalPixels - координаты перетаскиваемой вершины в глобальных пиксельных координатах.
Если у данного события вызвать метод [Event.preventDefault](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#preventDefault), то последующее перетаскивание, как и событие "vertexdragstart", будет отменено. ||
|| [beforevertexdraw](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometryEditor.LineString.md#event-beforevertexdraw) | Событие, предшествующее событию vertexdraw. Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- parentModel - ссылка на родительскую, для добавляемой вершины, модель данных;
- vertexIndex - индекс добавляемой вершины;
- globalPixels - координаты добавляемой вершины в глобальных пиксельных координатах.
Имена методов, доступных через метод [Event.callMethod](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#callMethod):
- setGlobalPixels - метод позволяет скорректировать значения координат добавляемой вершины. В качестве аргумента принимает новые глобальные пиксельные координаты вершины в виде массива из двух чисел.
Если у данного события вызвать метод [Event.preventDefault](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#preventDefault), то последующее событие "vertexdraw" будет отменено. ||
|| [drawingstart](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometryEditor.LineString.md#event-drawingstart) | Включение режима добавления новых вершин. Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). ||
|| [drawingstop](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometryEditor.LineString.md#event-drawingstop) | Отключение режима добавления новых вершин. Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). ||
|| [edgedrag](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometryEditor.LineString.md#event-edgedrag) | Перетаскивание промежуточной метки. Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- pixelOffset - массив из двух чисел, описывающий пиксельный сдвиг на данном шаге;
- edgeModel - ссылка на модель перетаскиваемой метки;
- globalPixels - координаты перетаскиваемой метки в глобальных пиксельных координатах. ||
|| [edgedragend](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometryEditor.LineString.md#event-edgedragend) | Завершение перетаскивания промежуточной метки. Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- edgeModel - ссылка на модель перетаскиваемой метки;
- globalPixels - координаты перетаскиваемой метки в глобальных пиксельных координатах. ||
|| [edgedragstart](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometryEditor.LineString.md#event-edgedragstart) | Начало перетаскивания промежуточной метки. Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- domEvent - исходное DOM-событие (в виде объекта [DomEvent](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/DomEvent.md)), если оно имеется.
- edgeModel - ссылка на модель перетаскиваемой метки;
- globalPixels - координаты перетаскиваемой метки в глобальных пиксельных координатах. ||
|| [editingstart](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometryEditor.LineString.md#event-editingstart) | Включение режима редактирования вершин. Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). ||
|| [editingstop](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometryEditor.LineString.md#event-editingstop) | Отключение режима редактирования вершин. Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). ||
|| [framingstart](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometryEditor.LineString.md#event-framingstart) | Включение режима масштабирования. Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). ||
|| [framingstop](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometryEditor.LineString.md#event-framingstop) | Отключение режима масштабирования. Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). ||
|| [optionschange](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ICustomizable.md#event-optionschange) | Изменение в опциях объекта.

Унаследовано от [ICustomizable](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ICustomizable.md#event-optionschange). ||
|| [statechange](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IGeometryEditor.md#event-statechange) | Изменение состояния редактора геометрии. Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md).

Унаследовано от [IGeometryEditor](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IGeometryEditor.md#event-statechange). ||
|| [vertexadd](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometryEditor.LineString.md#event-vertexadd) | Добавление новой вершины. Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- parentModel - ссылка на родительскую, для добавленной вершины, модель данных;
- vertexIndex - индекс добавленной вершины;
- globalPixels - координаты добавленной вершины в глобальных пиксельных координатах. ||
|| [vertexdrag](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometryEditor.LineString.md#event-vertexdrag) | Перетаскивание вершины. Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- pixelOffset - массив из двух чисел, описывающий пиксельный сдвиг на данном шаге;
- vertexModel - ссылка на модель перетаскиваемой вершины;
- globalPixels - координаты перетаскиваемой вершины в глобальных пиксельных координатах. ||
|| [vertexdragend](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometryEditor.LineString.md#event-vertexdragend) | Завершение перетаскивания вершины. Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- vertexModel - ссылка на модель перетаскиваемой вершины;
- globalPixels - координаты перетаскиваемой вершины в глобальных пиксельных координатах. ||
|| [vertexdragstart](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometryEditor.LineString.md#event-vertexdragstart) | Начало перетаскивания вершины. Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- domEvent - исходное DOM-событие (в виде объекта [DomEvent](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/DomEvent.md)), если оно имеется.
- vertexModel - ссылка на модель перетаскиваемой вершины;
- globalPixels - координаты перетаскиваемой вершины в глобальных пиксельных координатах. ||
|| [vertexdraw](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometryEditor.LineString.md#event-vertexdraw) | Рисование новой вершины. Данное событие, как правило, предшествует событию добавления вершины и возникает в момент движения мышью при включенном режиме добавления новых вершин. На основе данных, передаваемых в данном событии, отображаются направляющие линии в режиме добавления новых вершин. Экземпляр класса Event. Имена полей, доступных через метод [Event.get](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- parentModel - ссылка на родительскую, для добавляемой вершины, модель данных;
- vertexIndex - индекс добавляемой вершины;
- globalPixels - координаты добавляемой вершины в глобальных пиксельных координатах. ||
|#

## Методы {#methods-summary}

#|
|| **Имя** | **Возвращает** | **Описание** ||
|| [getModel](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometryEditor.LineString.md#getModel)() | [vow.Promise](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/vow.Promise.md) | Возвращает объект-обещание, который подтверждается объектом модели в момент ее фактического создания, либо отклоняется с одним из следующих кодов ошибки:
- Canceled - режим редактирования отключен до момента фактического создания модели;
- Editor wasn't started - режим редактирования не включен. ||
|| [getModelSync](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometryEditor.LineString.md#getModelSync)() | [geometryEditor.model.RootLineString](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometryEditor.model.RootLineString.md)\|null | Возвращает модель данных редактора или null, если на момент вызова она отсутствует. ||
|| [getView](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometryEditor.LineString.md#getView)() | [vow.Promise](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/vow.Promise.md) | Возвращает объект-обещание, который подтверждается объектом отображения в момент его фактического создания, либо отклоняется с одним из следующих кодов ошибки:
- Canceled - режим редактирования отключен до момента фактического создания отображения;
- Editor wasn't started - режим редактирования не включен. ||
|| [getViewSync](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometryEditor.LineString.md#getViewSync)() | [geometryEditor.view.Path](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometryEditor.view.Path.md)\|null | Возвращает отображение редактора или null, если на момент вызова оно отсутствует. ||
|| [startDrawing](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometryEditor.LineString.md#startDrawing)() | [vow.Promise](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/vow.Promise.md) | Включает режим добавления новых вершин в ломаную линию. Включение происходит асинхронно. ||
|| [startEditing](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometryEditor.LineString.md#startEditing)() | [vow.Promise](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/vow.Promise.md) | Включает режим редактирования. Включение происходит асинхронно. ||
|| [startFraming](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometryEditor.LineString.md#startFraming)() | [vow.Promise](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/vow.Promise.md) | Включает режим масштабирования для ломаной линии. Включение происходит асинхронно. ||
|| [stopDrawing](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometryEditor.LineString.md#stopDrawing)() | | Отключает режим добавления новых вершин в ломаную линию. ||
|| [stopEditing](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometryEditor.LineString.md#stopEditing)() | | Отключает режим редактирования. ||
|| [stopFraming](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometryEditor.LineString.md#stopFraming)() | | Отключает режим масштабирования. ||
|#

## Описание полей {#field_detail}

###  state {#state }

```javascript
{IDataManager} state
```

Менеджер состояния редактора геометрии.

Поля данных, доступные посредством методов get и set:

- editing - определяет включен ли редактор. Тип - Boolean. Значение по умолчанию - false.
- drawing - определяет включен ли режим добавления новых вершин. Тип - Boolean. Значение по умолчанию - false.
- drawingFrom - определяет то, как добавляются новые точки в режиме добавления. Может принимать одно из двух строковых значений: "begin" - точки добавляются в начало ломаной линии, "end"- точки добавляются в конец. Значение по умолчанию - "end".

## Описание событий {#event_detail}

###  beforeedgedrag {#beforeedgedrag}

Событие, предшествующее событию "edgedrag". Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- pixelOffset - массив из двух чисел, описывающий пиксельный сдвиг на данном шаге;
- edgeModel - ссылка на модель перетаскиваемой метки;
- globalPixels - координаты перетаскиваемой метки в глобальных пиксельных координатах.
Имена методов, доступных через метод [Event.callMethod](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#callMethod):
- setPixelOffset - метод, позволяющий скорректировать значение пиксельного сдвига, который будет фактически применен. В качестве аргумента принимает новый пиксельный сдвиг в виде массива из двух чисел.
Если у данного события вызвать метод [Event.preventDefault](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#preventDefault), то последующее событие "edgedrag" будет отменено.

### beforeedgedragstart {#beforeedgedragstart}

Событие, предшествующее событию "edgedragstart". Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- domEvent - исходное DOM-событие (в виде объекта [DomEvent](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/DomEvent.md)), если оно имеется.
- edgeModel - ссылка на модель перетаскиваемой метки;
- globalPixels - координаты перетаскиваемой метки в глобальных пиксельных координатах.
Если у данного события вызвать метод [Event.preventDefault](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#preventDefault), то последующее перетаскивание, как и событие "edgedragstart", будет отменено.

### beforevertexadd {#beforevertexadd}

Событие, предшествующее событию vertexadd. Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- parentModel - ссылка на родительскую, для добавляемой вершины, модель данных;
- vertexIndex - индекс добавляемой вершины;
- globalPixels - координаты добавляемой вершины в глобальных пиксельных координатах.
Имена методов, доступных через метод [Event.callMethod](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#callMethod):
- setGlobalPixels - метод позволяет скорректировать значения координат добавляемой вершины. В качестве аргумента принимает новые глобальные пиксельные координаты вершины в виде массива из двух чисел.
Если у данного события вызвать метод [Event.preventDefault](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#preventDefault), то последующее событие "vertexadd" будет отменено.

**Пример:**

```javascript
// Корректируем координаты событий добавления вершин так, чтобы
// они не выходили за границы квадрата со стороной
// 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 {#beforevertexdrag}

Событие, предшествующее событию vertexdrag. Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- pixelOffset - массив из двух чисел, описывающий пиксельный сдвиг на данном шаге;
- vertexModel - ссылка на модель перетаскиваемой вершины;
- globalPixels - координаты перетаскиваемой вершины в глобальных пиксельных координатах.
Имена методов, доступных через метод [Event.callMethod](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#callMethod):
- setPixelOffset - метод, позволяющий скорректировать значение пиксельного сдвига, который будет фактически применен. В качестве аргумента принимает новый пиксельный сдвиг в виде массива из двух чисел.
Если у данного события вызвать метод [Event.preventDefault](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#preventDefault), то последующее событие "vertexdrag" будет отменено.

**Пример:**

```javascript
// Инвертируем сдвиг при перетаскивании вершины.
polyline.editor.events.add("beforevertexdrag", function (event) {
    var pixelOffset = event.get("pixelOffset");
    event.callMethod("setPixelOffset", [-pixelOffset[0], -pixelOffset[1]]);
});
```

### beforevertexdragstart {#beforevertexdragstart}

Событие, предшествующее событию vertexdragstart. Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- domEvent - исходное DOM-событие (в виде объекта [DomEvent](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/DomEvent.md)), если оно имеется.
- vertexModel - ссылка на модель перетаскиваемой вершины;
- globalPixels - координаты перетаскиваемой вершины в глобальных пиксельных координатах.
Если у данного события вызвать метод [Event.preventDefault](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#preventDefault), то последующее перетаскивание, как и событие "vertexdragstart", будет отменено.

### beforevertexdraw {#beforevertexdraw}

Событие, предшествующее событию vertexdraw. Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- parentModel - ссылка на родительскую, для добавляемой вершины, модель данных;
- vertexIndex - индекс добавляемой вершины;
- globalPixels - координаты добавляемой вершины в глобальных пиксельных координатах.
Имена методов, доступных через метод [Event.callMethod](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#callMethod):
- setGlobalPixels - метод позволяет скорректировать значения координат добавляемой вершины. В качестве аргумента принимает новые глобальные пиксельные координаты вершины в виде массива из двух чисел.
Если у данного события вызвать метод [Event.preventDefault](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#preventDefault), то последующее событие "vertexdraw" будет отменено.

### drawingstart {#drawingstart}

Включение режима добавления новых вершин. Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md).

### drawingstop {#drawingstop}

Отключение режима добавления новых вершин. Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md).

### edgedrag {#edgedrag }

Перетаскивание промежуточной метки. Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- pixelOffset - массив из двух чисел, описывающий пиксельный сдвиг на данном шаге;
- edgeModel - ссылка на модель перетаскиваемой метки;
- globalPixels - координаты перетаскиваемой метки в глобальных пиксельных координатах.

### edgedragend {#edgedragend}

Завершение перетаскивания промежуточной метки. Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- edgeModel - ссылка на модель перетаскиваемой метки;
- globalPixels - координаты перетаскиваемой метки в глобальных пиксельных координатах.

### edgedragstart {#edgedragstart}

Начало перетаскивания промежуточной метки. Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- domEvent - исходное DOM-событие (в виде объекта [DomEvent](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/DomEvent.md)), если оно имеется.
- edgeModel - ссылка на модель перетаскиваемой метки;
- globalPixels - координаты перетаскиваемой метки в глобальных пиксельных координатах.

### editingstart {#editingstart}

Включение режима редактирования вершин. Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md).

### editingstop {#editingstop}

Отключение режима редактирования вершин. Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md).

### framingstart {#framingstart}

Включение режима масштабирования. Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md).

### framingstop {#framingstop}

Отключение режима масштабирования. Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md).

### vertexadd {#vertexadd}

Добавление новой вершины. Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- parentModel - ссылка на родительскую, для добавленной вершины, модель данных;
- vertexIndex - индекс добавленной вершины;
- globalPixels - координаты добавленной вершины в глобальных пиксельных координатах.

### vertexdrag {#vertexdrag}

Перетаскивание вершины. Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- pixelOffset - массив из двух чисел, описывающий пиксельный сдвиг на данном шаге;
- vertexModel - ссылка на модель перетаскиваемой вершины;
- globalPixels - координаты перетаскиваемой вершины в глобальных пиксельных координатах.

### vertexdragend {#vertexdragend}

Завершение перетаскивания вершины. Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- vertexModel - ссылка на модель перетаскиваемой вершины;
- globalPixels - координаты перетаскиваемой вершины в глобальных пиксельных координатах.

### vertexdragstart {#vertexdragstart}

Начало перетаскивания вершины. Экземпляр класса [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- domEvent - исходное DOM-событие (в виде объекта [DomEvent](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/DomEvent.md)), если оно имеется.
- vertexModel - ссылка на модель перетаскиваемой вершины;
- globalPixels - координаты перетаскиваемой вершины в глобальных пиксельных координатах.

### vertexdraw {#vertexdraw}

Рисование новой вершины. Данное событие, как правило, предшествует событию добавления вершины и возникает в момент движения мышью при включенном режиме добавления новых вершин. На основе данных, передаваемых в данном событии, отображаются направляющие линии в режиме добавления новых вершин. Экземпляр класса Event. Имена полей, доступных через метод [Event.get](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- parentModel - ссылка на родительскую, для добавляемой вершины, модель данных;
- vertexIndex - индекс добавляемой вершины;
- globalPixels - координаты добавляемой вершины в глобальных пиксельных координатах.

## Описание методов {#method_detail}

### getModel {#getModel}

```javascript
{vow.Promise} getModel()
```

**Возвращает** объект-обещание, который подтверждается объектом модели в момент ее фактического создания, либо отклоняется с одним из следующих кодов ошибки:
- Canceled - режим редактирования отключен до момента фактического создания модели;
- Editor wasn't started - режим редактирования не включен.

### getModelSync {#getModelSync}

```javascript
{geometryEditor.model.RootLineString|null} getModelSync()
```

**Возвращает** модель данных редактора или null, если на момент вызова она отсутствует.

### getView {#getView}

```javascript
{vow.Promise} getView()
```

**Возвращает** объект-обещание, который подтверждается объектом отображения в момент его фактического создания, либо отклоняется с одним из следующих кодов ошибки:
- Canceled - режим редактирования отключен до момента фактического создания отображения;
- Editor wasn't started - режим редактирования не включен.

### getViewSync {#getViewSync}

```javascript
{geometryEditor.view.Path|null} getViewSync()
```

**Возвращает** отображение редактора или null, если на момент вызова оно отсутствует.

### startDrawing {#startDrawing}

```javascript
{vow.Promise} startDrawing()
```

Включает режим добавления новых вершин в ломаную линию. Включение происходит асинхронно.

**Возвращает** объект-обещание, который подтверждается при включении режима добавления новых вершин, либо отклоняется с одним из следующих кодов ошибки:
- Canceled - режим добавления новых вершин отключен до момента его фактического старта.

### startEditing {#startEditing}

```javascript
{vow.Promise} startEditing()
```

Включает режим редактирования. Включение происходит асинхронно.

**Возвращает** объект-обещание, который подтверждается в момент фактического старта режима редактирования, либо отклоняется с одним из следующих кодов ошибки:
- Canceled - режим редактирования отключен до момента его фактического старта.

### startFraming {#startFraming}

```javascript
{vow.Promise} startFraming()
```

Включает режим масштабирования для ломаной линии. Включение происходит асинхронно.

**Возвращает** Promise, который подтверждается в момент фактического старта режима масштабирования.

### stopDrawing {#stopDrawing}

```javascript
{} stopDrawing()
```

Отключает режим добавления новых вершин в ломаную линию.

### stopEditing {#stopEditing}

```javascript
{} stopEditing()
```

Отключает режим редактирования.

### stopFraming {#stopFraming}

```javascript
{} stopFraming()
```

Отключает режим масштабирования.

<!-- XLIFF_FARM_MjlmZjhk_CACHING -->

[*star]: Обязательный параметр.