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.

Поля

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