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 .