geometry.LineString

Расширяет ILineStringGeometry.

Геометрия "Ломаная линия".

См.: Polyline

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

Конструктор

geometry.LineString([coordinates[, options]])

Параметры:

Параметр

Значение по умолчанию

Описание

coordinates

[]

Тип: Number[][]

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

options

Тип: Object

Опции геометрии.

options.coordRendering

Тип: String

Строковый идентификатор, определяющий алгоритм пересчета координат геометрии в пиксельные координаты. Для геометрии "Ломаная линия" может принимать одно из двух значений:

  • shortestPath - алгоритм, учитывающий зацикленность проекции по осям, и формирующий пиксельные координаты так, чтобы расстояние между двумя соседними точками было минимальным;
  • straightPath - алгоритм, не учитывающий зацикленность проекции;

options.geodesic

false

Тип: Boolean

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

options.pixelRendering

"jumpy"

Тип: String

Метод расчета пиксельных координат отображения в зацикленных проекциях. Опция может принимать одно из следующих значений:

  • jumpy - отображение располагается как можно ближе к центру области показа карты и может скачкообразно перемещается во время движения карты;
  • static - отображение всегда располагается в начальном мире и не перемещается при движении карты.

options.projection

Тип: IProjection

Проекция.

options.simplification

true

Тип: Boolean

Включает симплификацию при рендеринге пиксельной геометрии.

Пример:

// Создает экземпляр геометрии точки (задает координаты).
var lineStringGeometry = new ymaps.geometry.LineString([
    [30, 50], [31, 51], [32, 52]
]);
// Создание экземпляра объекта geo и передача нашей геометрии конструктору.
var lineStringGeoObject = new ymaps.GeoObject({ geometry: lineStringGeometry });

lineStringGeometry.events.add('change', function (e) {
   alert([e.get('newCoordinates'), e.get('oldCoordinates')]);
});

// Изменение вершин с помощью свойства "геометрия" геообъекта (установка новых координат для второй точки на линии).
lineStringGeoObject.geometry
    .set(1, [20, 40])
    .remove(2);
// Или напрямую.
lineStringGeometry
    .set(1, [20, 40])
    .remove(2);
// Вы также можете получить доступ к lineStringGeometry через lineStringGeoObject.геометрия.

Поля

Имя

Тип

Описание

events

IEventManager

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

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

options

IOptionManager

Менеджер опций.

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

События

Имя

Описание

change

Изменение координат. Экземпляр класса Event. Имена полей, доступных через метод Event.get:

  • oldCoordinates — старые координаты;
  • newCoordinates - новые координаты;

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

mapchange

Сменилась карта. Экземпляр класса Event. Имена полей, доступных через метод Event.get:

  • oldMap - старая карта;
  • newMap - новая карта.

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

optionschange

Изменение в опциях объекта.

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

pixelgeometrychange

Изменилась пиксельная геометрия. Экземпляр класса Event. Имена полей, доступных через метод Event.get:

  • pixelGeometry - новая пиксельная геометрия IPixelGeometry.

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

Методы

Имя

Возвращает

Описание

freeze()

IFreezable

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

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

get(index)

Number[]

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

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

getBounds()

Number[][]|null

Возвращает координаты двух противоположных углов области, охватывающей геометрию. Первый элемент массива - юго-западный угол области; второй элемент - северо-восточный угол соответственно.

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

getChildGeometry(index)

IPointGeometryAccess

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

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

getClosest(anchorPosition)

Object

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

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

getCoordinates()

Number[][]

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

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

getDistance([from[, to]])

Number

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

getLength()

Integer

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

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

getMap()

Map|null

Возвращает текущую карту.

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

getPixelGeometry([options])

IPixelGeometry

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

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

getType()

String

Возвращает строку "LineString".

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

insert(index, coordinates)

ILineStringGeometryAccess

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

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

isFrozen()

Boolean

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

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

remove(index)

Number[]

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

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

set(index, coordinates)

ILineStringGeometryAccess

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

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

setCoordinates(coordinates)

ILineStringGeometryAccess

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

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

setMap(map)

Задает карту.

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

splice(index, number)

Number[][]

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

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

unfreeze()

IFreezable

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

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

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

getDistance

{Number} getDistance([from[, to]])

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

Параметры:

Параметр

Значение по умолчанию

Описание

from

0

Тип: Number

Начиная с какой точки считать длину.

to

Тип: Number

До какой точки считать длину. Если не указано, берётся последняя точка.

Пример:

var lineStringGeometry = new ymaps.geometry.LineString([[30, 50], [31, 51], [32, 52]]),
var geoObject = new ymaps.GeoObject({ geometry: lineStringGeometry });
myMap.geoObjects.add(geoObject);
// Длина всей линии.
console.log(geoObject.geometry.getDistance());
// Длина отрезка от первой до второй точки.
console.log(geoObject.geometry.getDistance(0, 1));