YMaps.Polygon

Расширяет YMaps.IInteractiveGeoObject, YMaps.IOverlay.

Многоугольник.

Конструктор

Имя Описание
YMaps.Polygon(path, options) Создает многоугольник.

Поля

Имя Описание
Events Список обрабатываемых событий.

Наследуемые поля

Из YMaps.IGeoObject:
description, id, metaDataProperty, name

События

Имя Описание
AddToMap

Добавление многоугольника на карту.

BalloonClose

Закрытие балуна многоугольника.

BalloonOpen

Открытие балуна многоугольника.

Click

Щелчок левой кнопкой мыши.

DblClick

Двойной щелчок левой кнопкой мыши.

Drag

Продолжается перетаскивание многоугольника.

DragEnd

Закончено перетаскивание многоугольника.

DragStart

Началось перетаскивание многоугольника (если разрешено).

MouseEnter

Курсор наведен на многоугольник.

MouseLeave

Курсор убран с многоугольника.

MouseMove

Движение курсора в пределах многоугольника.

PositionChange

Изменение координат многоугольника (например, с помощью метода YMaps.Polygon.addPoint).

RemoveFromMap

Удаление многоугольника с карты.

StartDrawing

Включение режима добавления вершин многоугольника.

StartEditing

Включение режима редактирования многоугольника.

StopDrawing

Отключение режима добавления вершин многоугольника.

StopEditing

Отключение режима редактирования многоугольника.

Методы

Имя Статический Возвращает Описание
addPoint(point, index) Добавляет одну или несколько вершин в многоугольник. По умолчанию вершины добавляются после вершины с максимальным индексом.
contains(coordPoint) Boolean Определяет находится ли визуально точка coordPoint внутри многоугольника.
fromEncodedPoints(encodedPoints, levels, options, coordSystem) YMaps.Polygon Строит многоугольник из закодированных в Base64 координат его вершин с учетом указанного для каждой вершины уровня видимости.
getClosestPoint(anchorPoint) Object|null Ищет на контуре многоугольника точку, ближайшую к anchorPoint. Возвращает объект, содержащий координаты ближайшей точки и индекс начальной вершины стороны многоугольника, на которой лежит найденная точка. Если многоугольник не содержит точек, возвращает null.
getCoordPath() YMaps.CoordPath Возвращает объект, управляющий множеством вершин внешнего контура многоугольника.
getEditingOptions() YMaps.PolygonEditingOptions Возвращает опции режима редактирования многоугольника.
getMap() YMaps.Map Возвращает указатель на карту, в которую добавлен многоугольник.
getNumPoints() Integer Возвращает количество вершин многоугольника.
getOptions() YMaps.PolygonOptions Возвращает опции многоугольника.
getPixelPoints(options) YMaps.Point[][] Возвращает информацию об отображении контуров многоугольника.
getPoint(index) YMaps.ICoordPoint Возвращает вершину многоугольника с заданным индексом.
getPoints() YMaps.ICoordPoint[] Возвращает координаты вершин многоугольника.
isDrawing() Boolean Проверяет, находится ли многоугольник в режиме рисования.
isEditing() Boolean Проверяет, находится ли многоугольник в режиме редактирования.
removePoint(index) YMaps.ICoordPoint Удаляет из многоугольника вершину с заданным индексом.
setEditingOptions(options) Устанавливает опции режима редактирования многоугольника.
setOptions(options, restoreDefault) Устанавливает опции многоугольника.
setPoints(points) Устанавливает координаты вершин многоугольника.
splicePoints(index, number) YMaps.ICoordPoint[] Удаляет заданные вершины многоугольника. Если требуется, вставляет на место удаленных другие вершины, которые передаются в метод дополнительными параметрами (после параметра number).
startEditing() Включает режим редактирования многоугольника.
stopEditing() Отключает режим редактирования многоугольника.

Наследуемые методы

Из YMaps.IOverlay:
onAddToMap, onMapUpdate, onRemoveFromMap
Из YMaps.IInteractiveGeoObject:
closeBalloon, getBalloon, getBalloonContent, getBalloonOptions, getHintContent, getHintOptions, openBalloon, setBalloonContent, setBalloonOptions, setHintContent, setHintOptions, update
Из YMaps.IGeoObject:
getBounds, getComputedStyle, getParentGroup, getStyle, onAddToGroup, onRemoveFromGroup, setBounds, setStyle

Подробное описание конструктора

YMaps.Polygon(path, options)

Создает многоугольник.

Пример:

//  
var style = new YMaps.Style("default#greenPoint");
style.polygonStyle = new YMaps.PolygonStyle();
style.polygonStyle.fill = 1;
style.polygonStyle.outline = 1;
style.polygonStyle.strokeWidth = 10;
style.polygonStyle.strokeColor = "ffff0088";
style.polygonStyle.fillColor = "ff000055";
YMaps.Styles.add("polygon#Example", style);

var polygon = new YMaps.Polygon([
    new YMaps.GeoPoint(37.59507,55.576559),
    new YMaps.GeoPoint(37.493452,55.613885),
    new YMaps.GeoPoint(37.369853,55.767479),
    new YMaps.GeoPoint(37.405561,55.871082),
    new YMaps.GeoPoint(37.553873,55.911209),
    new YMaps.GeoPoint(37.707682,55.898866),
    new YMaps.GeoPoint(37.83677,55.821634),
    new YMaps.GeoPoint(37.834021,55.689979),
    new YMaps.GeoPoint(37.83677,55.646518),
    new YMaps.GeoPoint(37.669234,55.576559)
], {
    style: "polygon#Example",
    hasHint: 1,
    hasBalloon: 1
});

polygon.name = "Москва";
polygon.description = "Столица России"; 

map.addOverlay(polygon);

Параметры:

Имя Тип Необязательный По умолчанию Описание
path YMaps.ICoordPoint[]|YMaps.CoordPath Массив координат, либо указатель на объект типа YMaps.CoordPath, определяющий набор вершин внешнего контура многоугольника.
options YMaps.PolygonOptions Опции многоугольника.

Подробное описание полей

Events

Object Events

Список обрабатываемых событий.

Подробное описание событий

AddToMap

AddToMap

Добавление многоугольника на карту.

В callback-функцию передается указатель на многоугольник, для которого был вызван обработчик.

BalloonClose

BalloonClose

Закрытие балуна многоугольника.

В callback-функцию передается указатель на многоугольник, для которого был вызван обработчик.

BalloonOpen

BalloonOpen

Открытие балуна многоугольника.

В callback-функцию передается указатель на многоугольник, для которого был вызван обработчик.

Click

Click

Щелчок левой кнопкой мыши.

В callback-функцию передаются:

  • указатель на многоугольник, для которого был вызван обработчик;
  • указатель на объект события мыши YMaps.MouseEvent.

DblClick

DblClick

Двойной щелчок левой кнопкой мыши.

В callback-функцию передаются:

  • указатель на многоугольник, для которого был вызван обработчик;
  • указатель на объект события мыши YMaps.MouseEvent.

Drag

Drag

Продолжается перетаскивание многоугольника.

В callback-функцию передаются два аргумента:

  • указатель на многоугольник, для которого был вызван обработчик;
  • объект YMaps.Point со значением смещения многоугольника в пикселах относительно его предыдущего положения.

DragEnd

DragEnd

Закончено перетаскивание многоугольника.

В callback-функцию передается указатель на многоугольник, для которого был вызван обработчик.

DragStart

DragStart

Началось перетаскивание многоугольника (если разрешено).

В callback-функцию передается указатель на многоугольник, для которого был вызван обработчик.

MouseEnter

MouseEnter

Курсор наведен на многоугольник.

В callback-функцию передаются:

  • указатель на многоугольник, для которого был вызван обработчик;
  • указатель на объект события мыши YMaps.MouseEvent.

MouseLeave

MouseLeave

Курсор убран с многоугольника.

В callback-функцию передаются:

  • указатель на многоугольник, для которого был вызван обработчик;
  • указатель на объект события мыши YMaps.MouseEvent.

MouseMove

MouseMove

Движение курсора в пределах многоугольника.

В callback-функцию передаются:

  • указатель на многоугольник, для которого был вызван обработчик;
  • указатель на объект события мыши YMaps.MouseEvent.

PositionChange

PositionChange

Изменение координат многоугольника (например, с помощью метода YMaps.Polygon.addPoint).

В callback-функцию передается указатель на многоугольник, для которого был вызван обработчик.

RemoveFromMap

RemoveFromMap

Удаление многоугольника с карты.

В callback-функцию передается указатель на многоугольник, для которого был вызван обработчик.

StartDrawing

StartDrawing

Включение режима добавления вершин многоугольника.

В callback-функцию передается указатель на многоугольник, для которого был вызван обработчик.

StartEditing

StartEditing

Включение режима редактирования многоугольника.

В callback-функцию передается указатель на многоугольник, для которого был вызван обработчик.

StopDrawing

StopDrawing

Отключение режима добавления вершин многоугольника.

В callback-функцию передается указатель на многоугольник, для которого был вызван обработчик.

StopEditing

StopEditing

Отключение режима редактирования многоугольника.

В callback-функцию передается указатель на многоугольник, для которого был вызван обработчик.

Подробное описание методов

addPoint

addPoint(point, index)

Добавляет одну или несколько вершин в многоугольник. По умолчанию вершины добавляются после вершины с максимальным индексом.

Параметры:

Имя Тип Необязательный По умолчанию Описание
point YMaps.ICoordPoint|YMaps.ICoordPoint[] Координата вершины или массив координат.
index Integer Позиция, в которую нужно добавить вершину.

contains

{Boolean} contains(coordPoint)
Определяет находится ли визуально точка coordPoint внутри многоугольника.

Параметры:

Имя Тип Описание
coordPoint YMaps.ICoordPoint Точка, для которой определяется принадлежность многоугольнику.

Возвращает:

Тип Описание
Boolean true, если точка внутри многоугольника, иначе false.

fromEncodedPoints

{YMaps.Polygon} fromEncodedPoints(encodedPoints, levels, options, coordSystem)

Строит многоугольник из закодированных в Base64 координат его вершин с учетом указанного для каждой вершины уровня видимости.

См.: Кодирование вершин ломаной

Пример:

// 
map.setCenter(new YMaps.GeoPoint(37.619, 55.753), 1);
var polygon = YMaps.Polygon.fromEncodedPoints(
    "hPD6AgItMQGAaWf_QEtMAAAAAAA8S0wAgGln_0JLTACAlpgAO0tMAAAAAABDS0wAgJaYAEFLTAB3lpgAv7Sz_wAAAAC9tLP_gJaYAMW0s_-AaWf_vrSz_wAAAADEtLP_iWln_8C0s_8=",
    "BCCBCCBCCBCC"
);
map.addOverlay(polygon);

Параметры:

Имя Тип Необязательный По умолчанию Описание
encodedPoints String Закодированные в Base64 координаты вершин контуров многоугольника. Кодированные наборы координат вершин для различных контуров многоугольника разделяютя символом ";". Координаты вершин внешнего контура должны передаваться в начале строки.
levels String Строка кодов уровней, определяющая для каждой вершины многоугольника значение коэффициента масштабирования, начиная с которого вершина должна отображаться в составе контура соответствующего многоугольника. Наборы уровней для различных контуров многоугольника разделяются символом ";". Если для какой-либо вершины значение уровня не задано, применяется значение по умолчанию "A".
options YMaps.PolygonOptions Опции многоугольника.
coordSystem YMaps.ICoordSystem YMaps.GeoCoordSystem Ссылка на координатную систему.

Возвращает:

Тип Описание
YMaps.Polygon Многоугольник.

getClosestPoint

{Object|null} getClosestPoint(anchorPoint)
Ищет на контуре многоугольника точку, ближайшую к anchorPoint. Возвращает объект, содержащий координаты ближайшей точки и индекс начальной вершины стороны многоугольника, на которой лежит найденная точка. Если многоугольник не содержит точек, возвращает null.

Пример:

var polygon = new YMaps.Polygon([
    new YMaps.GeoPoint(0, 0),
    new YMaps.GeoPoint(10, 10),
    new YMaps.GeoPoint(20, 0)
]);

map.addOverlay(polygon);

var closest = polygon.getClosestPoint(
    new YMaps.GeoPoint(15, -5)
);

// closest.point будет содержать экземпляр YMaps.GeoPoint с координатами 0, 15.
// closest.index будет содержать 2.

Параметры:

Имя Тип Описание
anchorPoint YMaps.ICoordPoint Точка координатной системы, для которой расчитывается ближайшая точка на контуре многоугольника.

Возвращает:

Тип Описание
Object|null Объект с полями point (координаты ближайшей точки) и index (индекс начальной вершины стороны многоугольника), или null.

getCoordPath

{YMaps.CoordPath} getCoordPath()

Возвращает объект, управляющий множеством вершин внешнего контура многоугольника.

Возвращает:

Тип Описание
YMaps.CoordPath Объект множества вершин внешнего контура многоугольника.

getEditingOptions

{YMaps.PolygonEditingOptions} getEditingOptions()

Возвращает опции режима редактирования многоугольника.

Возвращает:

Тип Описание
YMaps.PolygonEditingOptions Опции режима редактирования.

getMap

{YMaps.Map} getMap()

Возвращает указатель на карту, в которую добавлен многоугольник.

Возвращает:

Тип Описание
YMaps.Map Указатель на карту, в которую добавлен многоугольник.

getNumPoints

{Integer} getNumPoints()

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

Возвращает:

Тип Описание
Integer Количество вершин многоугольника.

getOptions

{YMaps.PolygonOptions} getOptions()

Возвращает опции многоугольника.

Возвращает:

Тип Описание
YMaps.PolygonOptions Опции многоугольника.

getPixelPoints

{YMaps.Point[][]} getPixelPoints(options)

Возвращает информацию об отображении контуров многоугольника.

Параметры:

Имя Тип Описание
options Object Объект опций. Может содержать следующие необязательные поля:
  • zoom {Integer} - учитывать только вершины, видимые при указанном в параметре значении коэффициента масштабирования. По умолчанию - при текущем коэффициенте масштабирования.
  • geodesic {Boolean} - флаг, указывающий, что в расчет пиксельных координат необходимо включить вершины геодезических кривых. По умолчанию берется значение опции YMaps.PolygonOptions.geodesic.

Возвращает:

Тип Описание
YMaps.Point[][] Массив, каждый элемент которого является массивом пиксельных координат, соответствующих вершинам одного из контуров многоугольника. Первым элементом всегда является массив пиксельных координат внешнего контура многоугольника. Затем следуют массивы пиксельных координат внутренних контуров.

getPoint

{YMaps.ICoordPoint} getPoint(index)

Возвращает вершину многоугольника с заданным индексом.

Параметры:

Имя Тип Описание
index Integer Индекс.

Возвращает:

Тип Описание
YMaps.ICoordPoint Вершину с заданным индексом.

getPoints

{YMaps.ICoordPoint[]} getPoints()

Возвращает координаты вершин многоугольника.

Возвращает:

Тип Описание
YMaps.ICoordPoint[] Координаты вершин многоугольника.

isDrawing

{Boolean} isDrawing()

Проверяет, находится ли многоугольник в режиме рисования.

Возвращает:

Тип Описание
Boolean true - находится, false - не находится.

isEditing

{Boolean} isEditing()

Проверяет, находится ли многоугольник в режиме редактирования.

Возвращает:

Тип Описание
Boolean true - находится, false - не находится.

removePoint

{YMaps.ICoordPoint} removePoint(index)

Удаляет из многоугольника вершину с заданным индексом.

Параметры:

Имя Тип Описание
index Integer Индекс удаляемой вершины.

Возвращает:

Тип Описание
YMaps.ICoordPoint Координаты удаленной вершины.

setEditingOptions

setEditingOptions(options)

Устанавливает опции режима редактирования многоугольника.

Параметры:

Имя Тип Описание
options YMaps.PolygonEditingOptions Опции режима редактирования.

setOptions

setOptions(options, restoreDefault)

Устанавливает опции многоугольника.

Параметры:

Имя Тип Необязательный По умолчанию Описание
options YMaps.PolygonOptions Опции многоугольника.
restoreDefault Boolean false Незаданные опции установить в значения по умолчанию.

setPoints

setPoints(points)

Устанавливает координаты вершин многоугольника.

Параметры:

Имя Тип Описание
points YMaps.ICoordPoint[] Координаты вершин многоугольника.

splicePoints

{YMaps.ICoordPoint[]} splicePoints(index, number)

Удаляет заданные вершины многоугольника. Если требуется, вставляет на место удаленных другие вершины, которые передаются в метод дополнительными параметрами (после параметра number).

Примеры:

1.

// Удаляет вторую вершину многоугольника.
polygon.splicePoints(1, 1);

2.

// Вставляет новую вершину на вторую позицию.
polygon.splicePoints(1, 0, new YMaps.GeoPoint(37.63, 55.75));

3.

// Заменяет вторую вершину на новую.
polygon.splicePoints(1, 1, new YMaps.GeoPoint(37.63, 55.75));

Параметры:

Имя Тип Описание
index Integer Индекс первой удаляемой вершины.
number Integer Количество удаляемых вершин.

Возвращает:

Тип Описание
YMaps.ICoordPoint[] Координаты удаленных вершин.

startEditing

startEditing()

Включает режим редактирования многоугольника. Должен вызываться после добавления многоугольника на карту.

stopEditing

stopEditing()

Отключает режим редактирования многоугольника.