Документация
Справочник JavaScript API
2.1.60 (текущая версия)
collection
interactivityModel
Interfaces

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]
]),
// Создаем инстанцию геообъекта и передаем нашу геометрию в конструктор.
    lineStringGeoObject = new ymaps.GeoObject({ geometry: lineStringGeometry });

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

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

Поля

ИмяТипОписание
eventsIEventManager

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

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

optionsIOptionManager

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

Унаследовано от 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]]),
    geoObject = new ymaps.GeoObject({ geometry: lineStringGeometry });
myMap.geoObjects.add(geoObject);
// Длина всей линии.
console.log(geoObject.geometry.getDistance());
// Длина отрезка от первой до второй точки.
console.log(geoObject.geometry.getDistance(0, 1));