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

Polygon

Расширяет GeoObject.

Многоугольник. Представляет собой геообъект с геометрией geometry.Polygon.

См.: GeoObject geometry.Polygon

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

Конструктор

Polygon(geometry[, properties[, options]])

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

Параметры:

ПараметрЗначение по умолчаниюОписание
geometry *
[no-highlight[

* Обязательный параметр/опция.

]no-highlight]

Тип: Number[][][]|Object|IPolygonGeometry

Координаты вершин ломаных, определяющих внешнюю и внутренние границы многоугольника, хэш-объект с параметрами геометрии или ссылка на объект геометрии. Внутренняя граница может отсутствовать.

properties

Тип: Object|IDataManager

Данные многоугольника. Могут задаваться как экземпляр класса, реализующего интерфейс IDataManager, либо в виде хэша. При значениях опций по умолчанию геообъектом трактуются следующие поля данных:

  • hintContent - содержимое всплывающей подсказки многоугольника;
  • balloonContent - содержимое балуна многоугольника;
  • balloonContentHeader - содержимое заголовка балуна многоугольника;
  • balloonContentBody - содержимое основой части балуна многоугольника;
  • balloonContentFooter - содержимое нижней части балуна многоугольника.
Поле balloonContent является кратким обозначением для поля balloonContentBody, но при одновременном задании balloonContentBody более приоритетен. Также вы можете дополнить данные многоугольника своими собственными полями и использовать их везде, где это возможно. Например в макете балуна многоугольника.

options

Тип: Object

Опции многоугольника. Используя этот параметр можно задавать как опции самого многоульника, так и опции его составных частей:

options.cursor "pointer"

Тип: String

Вид курсора над многоугольником.

options.draggable false

Тип: Boolean

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

options.fill true

Тип: Boolean

Наличие заливки фигуры.

options.fillColor "0066ff99"

Тип: String

Цвет заливки.

options.fillImageHref

Тип: String

Фоновое изображение. При включении данной опции в режиме заливки stretch значение опции fillColor игнорируется.

options.fillMethod 'stretch'

Тип: String

Тип заливки фоном. Может принимать одно из двух значений:

  • stretch - фоновое изображение растягивается по размеру оверлея.
  • tile - Фоновое изображение повторяется без изменений размера. Аналог background-repeat в css. Можно использовать для заливки фигуры неким шаблоном.

options.fillOpacity 1

Тип: Number

Прозрачность заливки.

options.hasBalloon true

Тип: Boolean

Определяет наличие поля balloon у многоугольника.

options.hasHint true

Тип: Boolean

Определяет наличие поля hint у многоугольника.

options.interactiveZIndex false

Тип: Boolean

Включает режим автоматического изменения z-index полигона в зависимости от его состояния.

options.interactivityModel "default#geoObject"

Тип: String

Модель интерактивности. Доступные ключи и их значения перечислены в описании interactivityModel.storage.

options.opacity 1

Тип: Number

Прозрачность.

options.openBalloonOnClick true

Тип: Boolean

Определяет, показывать ли балун при щелчке на многоугольнике.

options.openEmptyBalloon false

Тип: Boolean

Определяет показывать ли пустой балун при щелчке на многоугольнике.

options.openEmptyHint false

Тип: Boolean

Определяет, показывать ли хинт при наведении указателя мыши на многоугольник.

options.openHintOnHover true

Тип: Boolean

Определяет, показывать ли хинт при наведении указателя мыши на многоугольник.

options.outline true

Тип: Boolean

Наличие обводки фигуры.

options.pane "areas"

Тип: String

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

options.polygonOverlay "default#polygon"

Тип: String|Function

Ключ-идентификатор из хранилища overlay.storage или класс оверлея. Функция-генератор принимает три параметра:

  • geometry: IPixelPolygonGeometry - непосредственно пиксельная геометрия;
  • data: IDataManager или Object - данные оверлея;
  • options: Object - опции оверлея.
И возвращает vow.Promise.

options.strokeColor "0066ffff"

Тип: String[][]|String[]

Цвет линии или обводки. Можно задать несколько значений для множественной обводки.

options.strokeOpacity 1

Тип: Number[][]|Number[]

Прозрачность линии или обводки. Можно задать несколько значений для множественной обводки.

options.strokeStyle

Тип: String[][][]|Object[][]|String[]|Object[]

Стиль линии или обводки. Можно задать несколько значений для множественной обводки.

options.strokeWidth 1

Тип: Number[][]|Number[]

Толщина линии или обводки. Можно задать несколько значений для множественной обводки.

options.syncOverlayInit false

Тип: Boolean

Включает синхронное добавление оверлея на карту. По умолчанию добавление оверлея осуществляется асинхронно, что позволяет предотвратить зависания браузера при добавлении на карту большого числа геообъектов. Однако, асинхронное добавление не позволяет получать доступ к оверлею сразу после добавления многоугольника на карту.

options.useMapMarginInDragging true

Тип: Boolean

При перетаскивании объекта к краю карты происходит автоматическое изменение центра карты. Нужно ли учитывать отступы карты при автоматическом смещении центра карты map.margin.Manager.

options.visible true

Тип: Boolean

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

options.zIndex

Тип: Number

z-index многоугольника в обычном состоянии. Наименее приоритетный.

options.zIndexActive

Тип: Number

z-index многоугольника с открытым балуном. Наиболее приоритетный.

options.zIndexDrag

Тип: Number

z-index многоугольника при перетаскивании.

options.zIndexHover

Тип: Number

z-index многоугольника при наведении на него указателя мыши.

* Обязательный параметр/опция.

Пример:

var polygon = new ymaps.Polygon([
    // Координаты внешнего контура.
    [[-80, 60], [-90, 50], [-60, 40], [-80, 60]],
    // Координаты внутреннего контура.
    [[-90, 80], [-90, 30], [-20, 40], [-90, 80]]
], {
    hintContent: "Многоугольник"
}, {
    fillColor: '#6699ff',
    // Делаем полигон прозрачным для событий карты.
    interactivityModel: 'default#transparent',
    strokeWidth: 8,
    opacity: 0.5
});
myMap.geoObjects.add(polygon);
myMap.setBounds(polygon.geometry.getBounds());

Поля

ИмяТипОписание
balloongeoObject.Balloon

Балун геообъекта.

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

editorgeometryEditor.Polygon

Редактор геометрии "Многоугольник".

eventsevent.Manager

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

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

geometrygeometry.Polygon

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

hintgeoObject.Hint

Хинт геообъекта.

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

optionsoption.Manager

Менеджер опций геообъекта.

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

propertiesdata.Manager

Менеджер данных геообъекта.

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

statedata.Manager

Состояние геообъекта. Определяется следующими полями:

  • active: Boolean - признак того, что на геообъекте открыт балун;
  • hover: Boolean - признак того, что в данный момент на геообъект наведен указатель мыши;
  • drag: Boolean - признак того, что в данный момент геообъект перетаскивается.

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

События

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

Закрытие балуна. Экземпляр класса Event.

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

balloonopen

Открытие балуна на геообъекте. Экземпляр класса Event.

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

beforedrag

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

  • position - координаты относительно документа. Массива вида [pageX, pageY];
  • pixelOffset - массив из двух чисел, описывающий пиксельный сдвиг на данном шаге;
  • domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.
Имена методов, доступных через метод Event.callMethod:
  • setPixelOffset - метод, позволяющий скорректировать значение пиксельного сдвига, который будет фактически применен. В качестве аргумента принимает новый пиксельный сдвиг в виде массива из двух чисел.
Если у данного события вызвать метод Event.preventDefault, то последующее событие drag будет отменено.

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

beforedragstart

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

  • position - координаты относительно документа. Массива вида [pageX, pageY];
  • domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.
Если у данного события вызвать метод Event.preventDefault, то последующее перетаскивание, как и событие dragstart, будет отменено.

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

click

Однократное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

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

contextmenu

Вызов контекстного меню на элементе. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

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

dblclick

Двойное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

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

drag

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

  • position - координаты относительно документа. Массива вида [pageX, pageY];
  • pixelOffset - массив из двух чисел, описывающий пиксельный сдвиг на данном шаге;
  • domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.

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

dragend

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

  • position - координаты относительно документа. Массива вида [pageX, pageY];
  • domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.

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

dragstart

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

  • position - координаты относительно документа. Массива вида [pageX, pageY];
  • domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.

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

editorstatechange

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

  • originalEvent - оригинальное событие редактора геометрии.

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

geometrychange

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

  • originalEvent: IEvent - оригинальное событие геометрии.

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

hintclose

Закрытие хинта. Экземпляр класса Event.

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

hintopen

Открытие хинта на геообъекте. Экземпляр класса Event.

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

mapchange

Сменилась карта. Поля данных:

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

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

mousedown

Нажатие кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

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

mouseenter

Наведение курсора на объект. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

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

mouseleave

Вывод курсора за пределы объекта. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

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

mousemove

Перемещение курсора над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

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

mouseup

Отпускание кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

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

multitouchend

Окончание мультисенсорного управления. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent.

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

multitouchmove

Повторящееся событие при мультисенсорном управлении. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Определяет свойство touches, которое содержит список прикосновений. Каждое прикосновение описано объектом, которое содержит поля:

  • clientX - координата касания X относительно видимой области браузера;
  • clientY - координата касания Y относительно видимой области браузера;
  • pageX - координата касания X касания относительно начала документа;
  • pageY - координата касания Y касания относительно начала документа.

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

multitouchstart

Начало мультисенсорного управления. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Определяет свойство touches, которое содержит список прикосновений. Каждое прикосновение описано объектом, которое содержит поля:

  • clientX - координата касания X относительно видимой области браузера;
  • clientY - координата касания Y относительно видимой области браузера;
  • pageX - координата касания X касания относительно начала документа;
  • pageY - координата касания Y касания относительно начала документа.

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

optionschange

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

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

overlaychange

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

  • overlay: IOverlay|null - ссылка на оверлей;
  • oldOverlay: IOverlay|null - предыдущий оверлей геообъекта.

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

parentchange

Сменился родительский объект.

Поля данных:

  • oldParent - старый родитель;
  • newParent - новый родитель.

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

propertieschange

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

  • originalEvent: IEvent - оригинальное событие менеджера данных.

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

wheel

Скролл мышкой. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

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

Методы

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

Map

Возвращает ссылку на карту.

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

getOverlay()

vow.Promise

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

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

getOverlaySync()

IOverlay|null

Метод предоставляет синхронный доступ к оверлею.

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

getParent()

IControlParent|null

Возвращает ссылку на родительский объект или null, если родительский элемент не был установлен.

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

setParent(parent)

IChildOnMap

Устанавливает родительский объект. Если передать значение null, то элемент управления будет только удален из текущего родительского объекта.

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

Описание полей

editor

Редактор геометрии "Многоугольник".

geometry

{geometry.Polygon} geometry

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