Polygon

Расширяет GeoObject.

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

См.: GeoObject geometry.Polygon

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

Конструктор

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

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

Параметры:

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

Тип: 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());

Поля

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

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

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

editor geometryEditor.Polygon

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

events event.Manager

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

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

geometry geometry.Polygon

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

hint geoObject.Hint

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

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

options option.Manager

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

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

properties data.Manager

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

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

state data.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()

IParentOnMap|null

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

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

setParent(parent)

IChildOnMap

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

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

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

editor

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

geometry

{geometry.Polygon} geometry

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