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

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

Параметр Значение по умолчанию Описание
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.

Имя Тип Описание
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:
  • oldPixelGeometry - старая пиксельная геометрия IPixelGeometry;
  • newPixelGeometry - новая пиксельная геометрия IPixelGeometry.

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

Имя Описание
change
Изменение координат. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • oldCoordinates - старые координаты;
  • newCoordinates - новые координаты;
  • oldFillRule - старый алгоритм заливки;
  • newFillRule - новые алгоритм заливки.

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

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

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

optionschange

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

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

pixelgeometrychange
Изменилась пиксельная геометрия. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • oldPixelGeometry - старая пиксельная геометрия IPixelGeometry;
  • newPixelGeometry - новая пиксельная геометрия IPixelGeometry.

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

Методы

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

Boolean

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

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

freeze()

IFreezable

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

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

get(index)

Number[][]

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

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

getBounds()

Number[][]|null

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

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

getChildGeometry(index)

ILinearRingGeometryAccess

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

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

getClosest(anchorPosition)

Object

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

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

getCoordinates()

Number[][][]

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

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

getFillRule()

String

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

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

getLength()

Integer

Returns количество контуров в геометрии.

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

getMap()

Map|null

Returns текущую карту.

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

getPixelGeometry([options])

IPixelGeometry

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

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

getType()

String

Returns строку "Polygon".

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

insert(index, path)

IPolygonGeometryAccess

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

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

isFrozen()

Boolean

Returns 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.

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

Boolean

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

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

freeze()

IFreezable

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

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

get(index)

Number[][]

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

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

getBounds()

Number[][]|null

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

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

getChildGeometry(index)

ILinearRingGeometryAccess

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

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

getClosest(anchorPosition)

Object

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

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

getCoordinates()

Number[][][]

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

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

getFillRule()

String

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

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

getLength()

Integer

Returns количество контуров в геометрии.

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

getMap()

Map|null

Returns текущую карту.

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

getPixelGeometry([options])

IPixelGeometry

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

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

getType()

String

Returns строку "Polygon".

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

insert(index, path)

IPolygonGeometryAccess

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

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

isFrozen()

Boolean

Returns 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.