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

# geometry.base.Polygon

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

Базовая геометрия "Многоугольник".

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

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

```javascript
geometry.base.Polygon([coordinates[, fillRule]])
```

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

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

Координаты геометрии. ||
|| [`fillRule`](#param-fillRule) | "evenOdd" | Тип: String

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

**Пример:**

```javascript
var polygon = new ymaps.geometry.base.Polygon([
    // Внешний контур.
    [
        [0, 0], [0, 5], [5, 5], [5, 0], [0, 0]
    ],
    // Внутренний контур.
    [
        [1, 1], [1, 2], [2, 2], [2, 1], [1, 1]
    ]
]);
```

## Поля {#properties-summary}

#|
|| **Имя** | **Тип** | **Описание** ||
|| [events](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometry.base.Polygon.md#events) | [event.Manager](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/event.Manager.md) | Менеджер событий геометрии. ||
|#

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

#|
|| **Имя** | **Описание** ||
|| [change](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPolygonGeometryAccess.md#event-change) | Изменение координат. Экземпляр класса [Event](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- oldCoordinates — старые координаты;
- newCoordinates - новые координаты;
- oldFillRule - старый алгоритм заливки;
- newFillRule - новые алгоритм заливки.

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


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

#|
|| **Имя** | **Возвращает** | **Описание** ||
|| [contains](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPolygonGeometryAccess.md#contains)([position](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPolygonGeometryAccess.md#contains-param-position)) | Boolean | Проверяет, лежит ли переданная точка внутри многоугольника.

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

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

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

Унаследован от [IBaseGeometry](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IBaseGeometry.md#getBounds). ||
|| [getChildGeometry](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPolygonGeometryAccess.md#getChildGeometry)([index](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPolygonGeometryAccess.md#getChildGeometry-param-index)) | [ILinearRingGeometryAccess](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILinearRingGeometryAccess.md) | Создает и возвращает объект [ILinearRingGeometryAccess](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILinearRingGeometryAccess.md) для заданного контура.

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

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

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

Унаследован от [IPolygonGeometryAccess](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPolygonGeometryAccess.md#getFillRule). ||
|| [getLength](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPolygonGeometryAccess.md#getLength)() | Integer | Возвращает количество контуров в геометрии.

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

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

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

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

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

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

Унаследован от [IPolygonGeometryAccess](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPolygonGeometryAccess.md#setCoordinates). ||
|| [setFillRule](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPolygonGeometryAccess.md#setFillRule)([fillRule](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPolygonGeometryAccess.md#setFillRule-param-fillRule)) | [IPolygonGeometryAccess](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPolygonGeometryAccess.md) | Задает алгоритм заливки многоугольника.

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

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

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

## Описание полей {#field_detail}

###  events {#events}

```javascript
{event.Manager} events
```

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

<!-- XLIFF_FARM_ZDc4YjU0_CACHING -->