Документация
Справочник JavaScript API
2.1.64 (текущая версия)
collection
interactivityModel
Интерфейсы

geometry.Polygon

Расширяет IPolygonGeometry.

Геометрия "Многоугольник".

См.: Polygon

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

Конструктор

geometry.Polygon([coordinates[, fillRule[, options]]])

Параметры:

ПараметрЗначение по умолчаниюОписание
coordinates []

Тип: Number[][][]

Координаты геометрии. Трехмерный массив, элементами которого являются двумерные массивы координат контуров многоугольника. Первый элемент описывает внешний контур, остальные - внутренние.

fillRule "evenOdd"

Тип: String

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

  • evenOdd - алгоритм, определяющий, находится ли точка в области заполнения, путем рисования луча от этой точки до бесконечности в любом направлении и подсчета количества сегментов контура в пределах заданной фигуры, которые пересекает этот луч. Если это число нечетное, точка находится внутри; если четное, точка находится снаружи.
  • nonZero - алгоритм, определяющий, находится ли точка в области заполнения, путем рисования луча от этой точки до бесконечности в любом направлении и проверки точек, в которых сегмент фигуры пересекает этот луч. Начиная с нуля, добавляется единица каждый раз, когда сегмент пересекает луч слева направо, и вычитается единица каждый раз, когда сегмент пересекает луч справа налево. Если после подсчета пересечений результат равен нулю, точка находится снаружи контура. В противном случае она находится внутри.

options

Тип: Object

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

options.coordRendering "shortestPath"

Тип: String

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

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

options.geodesic false

Тип: Boolean

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

options.pixelRendering "jumpy"

Тип: String

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

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

options.projection

Тип: IProjection

Проекция.

options.simplification true

Тип: Boolean

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

Пример:

// Создаем инстанцию геометрии многоугольника (указываем координаты вершин контуров).
var polygonGeometry = new ymaps.geometry.Polygon([
    // Внешний контур.
    [
        [0, 0], [0, 5], [5, 5], [5, 0], [0, 0]
    ],
    // Внутренний контур.
    [
        [1, 1], [1, 2], [2, 2], [2, 1], [1, 1]
    ]
]),
// Создаем инстанцию геообъекта и передаем нашу геометрию в конструктор.
    polygonGeoObject = new ymaps.GeoObject({ geometry: polygonGeometry });

// Также доступ к polygonGeometry можно получить через polygonGeoObject.geometry.

Поля

ИмяТипОписание
events IEventManager

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

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

options IOptionManager

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

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

События

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

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

  • oldCoordinates — старые координаты;
  • newCoordinates - новые координаты;
  • oldFillRule - старый алгоритм заливки;
  • newFillRule - новые алгоритм заливки.

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

mapchange

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

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

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

optionschange

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

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

pixelgeometrychange

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

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

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

Методы

ИмяВозвращаетОписание
contains(position)

Boolean

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

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

freeze()

IFreezable

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

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

get(index)

Number[][]

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

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

getBounds()

Number[][]|null

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

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

getChildGeometry(index)

ILinearRingGeometryAccess

Создает и возвращает объект ILinearRingGeometryAccess для заданного контура.

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

getClosest(anchorPosition)

Object

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

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

getCoordinates()

Number[][][]

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

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

getFillRule()

String

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

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

getLength()

Integer

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

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

getMap()

Map|null

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

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

getPixelGeometry([options])

IPixelGeometry

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

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

getType()

String

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

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

insert(index, path)

IPolygonGeometryAccess

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

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

isFrozen()

Boolean

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

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

remove(index)

ILinearRingGeometryAccess

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

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

set(index, path)

IPolygonGeometryAccess

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

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

setCoordinates(coordinates)

IPolygonGeometryAccess

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

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

setFillRule(fillRule)

IPolygonGeometryAccess

Задает алгоритм заливки многоугольника.

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

setMap(map)

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

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

splice(index, number)

ILinearRingGeometryAccess[]

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

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

unfreeze()

IFreezable

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

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