geometryEditor.LineString
Расширяет IGeometryEditor.
Редактор геометрии "Ломаная линия".
Конструктор | Поля | События | Методы
Конструктор
Параметры:
Параметр | Значение по умолчанию | Описание |
---|---|---|
geometry * | — | Тип: ILineStringGeometry Геометрия "Ломаная линия". |
options | — | Тип: Object Опции редактора геометрии. Через опции редактора геометрии можно задавать как опции самого
редактора, так и опции его составных частей:
|
options.dblClickHandler | — | Тип: Function Обработчик двойного щелчка по вершине. Принимает ссылку на модель редактируемой вершины. По умолчанию, обработчик определен функцией, удаляющей соответствующую вершину. |
options.drawingCursor | "arrow" | Тип: Boolean Курсор мыши в режиме добавления новых вершин. |
options.drawOver | true | Тип: Boolean Разрешает ставить точки поверх объектов карты в режиме добавления новых вершин. |
options.edgeLayout | — | Тип: Function Класс макета для промежуточных меток. |
options.maxPoints | Infinity | Тип: Number Максимально допустимое число вершин в ломаной линии. |
options.menuManager | — | Тип: Function Диспетчер контекстного меню, открывающегося при щелчке по вершине.
Принимает два аргумента:
|
options.vertexLayout | — | Тип: Function Класс макета для меток на вершинах ломаной линии. |
Параметр | Значение по умолчанию | Описание |
---|---|---|
geometry * | — | Тип: ILineStringGeometry Геометрия "Ломаная линия". |
options | — | Тип: Object Опции редактора геометрии. Через опции редактора геометрии можно задавать как опции самого
редактора, так и опции его составных частей:
|
options.dblClickHandler | — | Тип: Function Обработчик двойного щелчка по вершине. Принимает ссылку на модель редактируемой вершины. По умолчанию, обработчик определен функцией, удаляющей соответствующую вершину. |
options.drawingCursor | "arrow" | Тип: Boolean Курсор мыши в режиме добавления новых вершин. |
options.drawOver | true | Тип: Boolean Разрешает ставить точки поверх объектов карты в режиме добавления новых вершин. |
options.edgeLayout | — | Тип: Function Класс макета для промежуточных меток. |
options.maxPoints | Infinity | Тип: Number Максимально допустимое число вершин в ломаной линии. |
options.menuManager | — | Тип: Function Диспетчер контекстного меню, открывающегося при щелчке по вершине.
Принимает два аргумента:
|
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:
|
edgedrag | Перетаскивание промежуточной метки.
Экземпляр класса Event.
Имена полей, доступных через метод Event.get:
|
edgedragend | Завершение перетаскивания промежуточной метки. Экземпляр класса Event. |
edgedragstart | |
optionschange | Изменение в опциях объекта. Унаследовано от ICustomizable. |
statechange | Изменение состояния редактора геометрии. Экземпляр класса Event. Унаследовано от IGeometryEditor. |
vertexadd | Добавление новой вершины.
Экземпляр класса Event.
Имена полей, доступных через метод Event.get:
|
vertexdrag | Перетаскивание вершины.
Экземпляр класса Event.
Имена полей, доступных через метод Event.get:
|
vertexdragend | Завершение перетаскивания вершины. Экземпляр класса Event. |
vertexdragstart | |
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:
|
edgedrag | Перетаскивание промежуточной метки.
Экземпляр класса Event.
Имена полей, доступных через метод Event.get:
|
edgedragend | Завершение перетаскивания промежуточной метки. Экземпляр класса Event. |
edgedragstart | |
optionschange | Изменение в опциях объекта. Унаследовано от ICustomizable. |
statechange | Изменение состояния редактора геометрии. Экземпляр класса Event. Унаследовано от IGeometryEditor. |
vertexadd | Добавление новой вершины.
Экземпляр класса Event.
Имена полей, доступных через метод Event.get:
|
vertexdrag | Перетаскивание вершины.
Экземпляр класса Event.
Имена полей, доступных через метод Event.get:
|
vertexdragend | Завершение перетаскивания вершины. Экземпляр класса Event. |
vertexdragstart | |
vertexdraw | Рисование новой вершины. Данное событие, как правило, предшествует событию добавления вершины и возникает в момент
движения мышью при включенном режиме добавления новых вершин.
На основе данных, передаваемых в данном событии, отображаются направляющие линии в режиме добавления новых вершин.
Экземпляр класса Event.
Имена полей, доступных через метод Event.get:
|
Методы
Имя | Возвращает | Описание |
---|---|---|
getModel() | Returns ссылку на модель данных редактора. | |
getView() | Returns ссылку на объект отображения редактора. | |
startDrawing() | Включает режим добавления новых вершин в ломаную линию. | |
startEditing() | Включает режим редактирования. Унаследован от IGeometryEditor. | |
stopDrawing() | Отключает режим добавления новых вершин в ломаную линию. | |
stopEditing() | Отключает режим редактирования. Унаследован от IGeometryEditor. |
Имя | Возвращает | Описание |
---|---|---|
getModel() | Returns ссылку на модель данных редактора. | |
getView() | Returns ссылку на объект отображения редактора. | |
startDrawing() | Включает режим добавления новых вершин в ломаную линию. | |
startEditing() | Включает режим редактирования. Унаследован от IGeometryEditor. | |
stopDrawing() | Отключает режим добавления новых вершин в ломаную линию. | |
stopEditing() | Отключает режим редактирования. Унаследован от IGeometryEditor. |
Описание полей
state
{IDataManager} state
Менеджер состояния редактора геометрии.
Поля данных, доступные посредством методов get и set:
- editing - определяет включен ли редактор. Тип - Boolean. Значение по умолчанию - false.
- drawing - определяет включен ли режим добавления новых вершин. Тип - Boolean. Значение по умолчанию - false.
- drawingFrom - определяет то, как добавляются новые точки в режиме добавления. Может принимать одно из двух строковых значений: "begin" - точки добавляются в начало ломаной линии, "end"- точки добавляются в конец. Значение по умолчанию - "end".
Описание событий
beforeedgedrag
- pixelOffset - массив из двух чисел, описывающий пиксельный сдвиг на данном шаге.
- setPixelOffset - метод, позволяющий скорректировать значение пиксельного сдвига, который будет фактически применен. В качестве аргумента принимает новый пиксельный сдвиг в виде массива из двух чисел.
beforeedgedragstart
- domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.
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 - массив из двух чисел, описывающий пиксельный сдвиг на данном шаге.
- setPixelOffset - метод, позволяющий скорректировать значение пиксельного сдвига, который будет фактически применен. В качестве аргумента принимает новый пиксельный сдвиг в виде массива из двух чисел.
Пример:
// Инвертируем сдвиг при перетаскивании вершины.
polyline.editor.events.add("beforevertexdrag", function (event) {
var pixelOffset = event.get("pixelOffset");
event.callMethod("setPixelOffset", [-pixelOffset[0], -pixelOffset[1]]);
});
beforevertexdragstart
- domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.
beforevertexdraw
- parentModel - ссылка на родительскую, для добавляемой вершины, модель данных;
- vertexIndex - индекс добавляемой вершины;
- globalPixels - координаты добавляемой вершины в глобальных пиксельных координатах.
- setGlobalPixels - метод позволяет скорректировать значения координат добавляемой вершины. В качестве аргумента принимает новые глобальные пиксельные координаты вершины в виде массива из двух чисел.
edgedrag
- pixelOffset - массив из двух чисел, описывающий пиксельный сдвиг на данном шаге.
edgedragend
Завершение перетаскивания промежуточной метки. Экземпляр класса Event.
edgedragstart
vertexadd
- parentModel - ссылка на родительскую, для добавленной вершины, модель данных;
- vertexIndex - индекс добавленной вершины;
- globalPixels - координаты добавленной вершины в глобальных пиксельных координатах.
vertexdrag
- pixelOffset - массив из двух чисел, описывающий пиксельный сдвиг на данном шаге.
vertexdragend
Завершение перетаскивания вершины. Экземпляр класса Event.
vertexdragstart
vertexdraw
- parentModel - ссылка на родительскую, для добавляемой вершины, модель данных;
- vertexIndex - индекс добавляемой вершины;
- globalPixels - координаты добавляемой вершины в глобальных пиксельных координатах.
Описание методов
getModel
{geometryEditor.model.RootLineString} getModel()
Returns ссылку на модель данных редактора.
getView
{geometryEditor.view.Path} getView()
Returns ссылку на объект отображения редактора.
startDrawing
{} startDrawing()
Включает режим добавления новых вершин в ломаную линию.
stopDrawing
{} stopDrawing()
Отключает режим добавления новых вершин в ломаную линию.