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

# geometry.LineString

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

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

**См.:** [Polyline](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Polyline.md)

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

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

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

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

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`coordinates`](#param-coordinates) | [] | Тип: Number[][]

Координаты геометрии. ||
|| [`options`](#param-options) | — | Тип: Object

Опции геометрии. ||
|| [`options.coordRendering`](#param-options.coordRendering) | — | Тип: String

Строковый идентификатор, определяющий алгоритм пересчета координат геометрии в пиксельные координаты. Для геометрии "Ломаная линия" может принимать одно из двух значений:
- shortestPath - алгоритм, учитывающий зацикленность проекции по осям, и формирующий пиксельные координаты так, чтобы расстояние между двумя соседними точками было минимальным;
- straightPath - алгоритм, не учитывающий зацикленность проекции; ||
|| [`options.geodesic`](#param-options.geodesic) | false | Тип: Boolean

Включает отображение с использованием геодезических линий. ||
|| [`options.pixelRendering`](#param-options.pixelRendering) | "jumpy" | Тип: String

Метод расчета пиксельных координат отображения в зацикленных проекциях. Опция может принимать одно из следующих значений:
- jumpy - отображение располагается как можно ближе к центру области показа карты и может скачкообразно перемещается во время движения карты;
- static - отображение всегда располагается в начальном мире и не перемещается при движении карты. ||
|| [`options.projection`](#param-options.projection) | — | Тип: [IProjection](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IProjection.md)

Проекция. ||
|| [`options.simplification`](#param-options.simplification) | true | Тип: Boolean

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

**Пример:**

```javascript
// Создает экземпляр геометрии точки (задает координаты).
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.геометрия.
```

## Поля {#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). ||
|| [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). ||
|#

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

#|
|| **Имя** | **Описание** ||
|| [change](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md#event-change) | Изменение координат. Экземпляр класса [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):
- oldCoordinates — старые координаты;
- newCoordinates - новые координаты;

Унаследовано от [ILineStringGeometryAccess](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md#event-change). ||
|| [mapchange](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IGeometry.md#event-mapchange) | Сменилась карта. Экземпляр класса [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):
- oldMap - старая карта;
- newMap - новая карта.

Унаследовано от [IGeometry](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IGeometry.md#event-mapchange). ||
|| [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). ||
|| [pixelgeometrychange](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IGeometry.md#event-pixelgeometrychange) | Изменилась пиксельная геометрия. Экземпляр класса [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):
- pixelGeometry - новая пиксельная геометрия [IPixelGeometry](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPixelGeometry.md).

Унаследовано от [IGeometry](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IGeometry.md#event-pixelgeometrychange). ||
|#


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

#|
|| **Имя** | **Возвращает** | **Описание** ||
|| [freeze](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IFreezable.md#freeze)() | [IFreezable](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IFreezable.md) | Переводит объект в "замороженный" режим.

Унаследован от [IFreezable](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IFreezable.md#freeze). ||
|| [get](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md#get)([index](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md#get-param-index)) | Number[] | Возвращает координаты точки с заданным индексом.

Унаследован от [ILineStringGeometryAccess](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md#get). ||
|| [getBounds](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IGeometry.md#getBounds)() | Number[][]\|null | Возвращает координаты двух противоположных углов области, охватывающей геометрию. Первый элемент массива - юго-западный угол области; второй элемент - северо-восточный угол соответственно.

Унаследован от [IGeometry](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IGeometry.md#getBounds). ||
|| [getChildGeometry](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md#getChildGeometry)([index](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md#getChildGeometry-param-index)) | [IPointGeometryAccess](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPointGeometryAccess.md) | Создает и возвращает объект [IPointGeometryAccess](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPointGeometryAccess.md) для заданной вершины ломаной линии.

Унаследован от [ILineStringGeometryAccess](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md#getChildGeometry). ||
|| [getClosest](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md#getClosest)([anchorPosition](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md#getClosest-param-anchorPosition)) | Object | Ищет на ломаной линии точку, ближайшую к anchorPosition.

Унаследован от [ILineStringGeometryAccess](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md#getClosest). ||
|| [getCoordinates](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md#getCoordinates)() | Number[][] | Возвращает массив координат геометрии.

Унаследован от [ILineStringGeometryAccess](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md#getCoordinates). ||
|| [getDistance](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometry.LineString.md#getDistance)(\[[from](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometry.LineString.md#getDistance-param-from)[, [to](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometry.LineString.md#getDistance-param-to)]]) | Number | Возвращает длину указанного отрезка, либо всей линии, если ограничители не заданы. ||
|| [getLength](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md#getLength)() | Integer | Возвращает количество точек в геометрии.

Унаследован от [ILineStringGeometryAccess](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md#getLength). ||
|| [getMap](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IGeometry.md#getMap)() | [Map](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Map.md)\|null | Возвращает текущую карту.

Унаследован от [IGeometry](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IGeometry.md#getMap). ||
|| [getPixelGeometry](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IGeometry.md#getPixelGeometry)(\[[options](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IGeometry.md#getPixelGeometry-param-options)]) | [IPixelGeometry](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPixelGeometry.md) | Возвращает пиксельную геометрию, соответствующую данной геометрии, ее опциям и состоянию карты.

Унаследован от [IGeometry](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IGeometry.md#getPixelGeometry). ||
|| [getType](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometry.md#getType)() | String | Возвращает строку "LineString".

Унаследован от [ILineStringGeometry](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometry.md#getType). ||
|| [insert](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md#insert)([index](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md#insert-param-index), [coordinates](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md#insert-param-coordinates)) | [ILineStringGeometryAccess](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md) | Добавляет новую точку с заданным индексом.

Унаследован от [ILineStringGeometryAccess](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md#insert). ||
|| [isFrozen](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IFreezable.md#isFrozen)() | Boolean | Возвращает true, если объект находится в "замороженном" режиме, иначе false.

Унаследован от [IFreezable](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IFreezable.md#isFrozen). ||
|| [remove](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md#remove)([index](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md#remove-param-index)) | Number[] | Удаляет точку с заданным индексом.

Унаследован от [ILineStringGeometryAccess](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md#remove). ||
|| [set](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md#set)([index](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md#set-param-index), [coordinates](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md#set-param-coordinates)) | [ILineStringGeometryAccess](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md) | Задает координаты точки c заданным индексом.

Унаследован от [ILineStringGeometryAccess](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md#set). ||
|| [setCoordinates](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md#setCoordinates)([coordinates](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md#setCoordinates-param-coordinates)) | [ILineStringGeometryAccess](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md) | Задает массив координат геометрии.

Унаследован от [ILineStringGeometryAccess](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md#setCoordinates). ||
|| [setMap](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IGeometry.md#setMap)([map](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IGeometry.md#setMap-param-map)) | | Задает карту.

Унаследован от [IGeometry](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IGeometry.md#setMap). ||
|| [splice](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md#splice)([index](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md#splice-param-index), [number](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md#splice-param-number)) | Number[][] | Удаляет определенное число точек начиная с заданного индекса. При этом на место удаляемых точек могут быть добавлены новые. Координаты новых точек можно передавать дополнительными аргументами после параметра number.

Унаследован от [ILineStringGeometryAccess](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILineStringGeometryAccess.md#splice). ||
|| [unfreeze](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IFreezable.md#unfreeze)() | [IFreezable](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IFreezable.md) | Переводит объект в активный режим.

Унаследован от [IFreezable](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IFreezable.md#unfreeze). ||
|#

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

### getDistance {#getDistance}

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

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

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

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`from`](#getDistance-param-from) | 0 | Тип: Number

Начиная с какой точки считать длину. ||
|| [`to`](#getDistance-param-to) | — | Тип: Number

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


**Пример:**

```javascript
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));
```

<!-- XLIFF_FARM_NTY2ZDk1_CACHING -->