ILineStringGeometryAccess

Расширяет IFreezable.

Интерфейс доступа к геометрии "Ломаная линия".

Конструктор | Поля | События | Методы

Конструктор

ILineStringGeometryAccess()

Поля

Имя Тип Описание
events IEventManager

Менеджер событий объекта.

Унаследовано от IFreezable.

События

Имя Описание
change
Изменение координат. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • oldCoordinates — старые координаты;
  • newCoordinates - новые координаты;

Методы

Имя Возвращает Описание
freeze()

IFreezable

Переводит объект в "замороженный" режим.

Унаследован от IFreezable.

get(index)

Number[]

Возвращает координаты точки с заданным индексом.

getChildGeometry(index)

IPointGeometryAccess

Создает и возвращает объект IPointGeometryAccess для заданной вершины ломаной линии.

getClosest(anchorPosition)

Object

Ищет на ломаной линии точку, ближайшую к anchorPosition.

getCoordinates()

Number[][]

Возвращает массив координат геометрии.

getLength()

Integer

Возвращает количество точек в геометрии.

insert(index, coordinates)

ILineStringGeometryAccess

Добавляет новую точку с заданным индексом.

isFrozen()

Boolean

Возвращает true, если объект находится в "замороженном" режиме, иначе false.

Унаследован от IFreezable.

remove(index)

Number[]

Удаляет точку с заданным индексом.

set(index, coordinates)

ILineStringGeometryAccess

Задает координаты точки c заданным индексом.

setCoordinates(coordinates)

ILineStringGeometryAccess

Задает массив координат геометрии.

splice(index, number)

Number[][]

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

unfreeze()

IFreezable

Переводит объект в активный режим.

Унаследован от IFreezable.

Описание событий

change

Изменение координат. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • oldCoordinates — старые координаты;
  • newCoordinates - новые координаты;

Описание методов

get

{Number[]} get(index)

Возвращает координаты точки с заданным индексом.

Параметры:

Параметр Значение по умолчанию Описание
index *

Тип: Integer

Индекс точки.

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

Пример:

// Отмечаем начало линии меткой.
map.geoObjects.add(new ymaps.Placemark(polyline.geometry.get(0), {
    iconContent: 'A'
}));

getChildGeometry

{IPointGeometryAccess} getChildGeometry(index)

Создает и возвращает объект IPointGeometryAccess для заданной вершины ломаной линии.

Возвращает объект геометрии "Точка", соответствующий заданной вершине.

Параметры:

Параметр Значение по умолчанию Описание
index *

Тип: Integer

Индекс вершины.

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

getClosest

{Object} getClosest(anchorPosition)

Ищет на ломаной линии точку, ближайшую к anchorPosition.

Возвращает объект со следующими полями:
  • position - точка на ломаной ближайшая к anchorPosition;
  • distance - расстояние от anchorPosition до position;
  • closestPointIndex - индекс вершины, ближайшей к position;
  • nextPointIndex - индекс вершины, следующей за position;
  • prevPointIndex - индекс вершины, предшествующей position.
Поля nextPointIndex, prevPointIndex могут отсутствовать, если position совпадает с одной из вершин ломаной линии.

Параметры:

Параметр Значение по умолчанию Описание
anchorPosition *

Тип: Number[]

Координаты точки, для которой расчитывается ближайшая точка на ломаной.

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

Пример:

// Удаляем из линии точки по клику на ней.
myPolyline.events.add('click', function (e) {
    myPolyline.geometry.remove(myPolyline.geometry.getClosest(e.get(
            'coords'))
        .closestPointIndex);
});

getCoordinates

{Number[][]} getCoordinates()

Возвращает массив координат геометрии.

getLength

{Integer} getLength()

Возвращает количество точек в геометрии.

insert

Добавляет новую точку с заданным индексом.

Возвращает ссылку на себя.

Параметры:

Параметр Значение по умолчанию Описание
index *

Тип: Integer

Индекс точки.

coordinates *

Тип: Number[]

Координаты точки.

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

Пример:

// Добавляем новую точку в конце линии по клику на карте.
myMap.events.add('click', function (e) {
    myLineString.insert(myLineString.getLength(), e.get('coords'));
});

remove

{Number[]} remove(index)

Удаляет точку с заданным индексом.

Возвращает координаты удаленной точки.

Параметры:

Параметр Значение по умолчанию Описание
index *

Тип: Integer

Индекс точки.

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

set

Задает координаты точки c заданным индексом.

Возвращает ссылку на себя.

Параметры:

Параметр Значение по умолчанию Описание
index *

Тип: Integer

Индекс точки.

coordinates *

Тип: Number[]

Координаты точки.

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

setCoordinates

Задает массив координат геометрии.

Возвращает ссылку на себя.

Параметры:

Параметр Значение по умолчанию Описание
coordinates *

Тип: Number[][]

Координаты геометрии.

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

splice

{Number[][]} splice(index, number)

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

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

Параметры:

Параметр Значение по умолчанию Описание
index *

Тип: Integer

Индекс, начиная с которого производится удаление и добавление точек.

number *

Тип: Integer

Количество удаляемых точек.

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

Пример:

// Добавляем новую точку в начало линии по клику на карте.
myMap.events.add('click', function (e) {
    myLineString.splice(0, 0, myLineString.getLength(), e.get(
    'coords'));
});