GeoObject

Расширяет IGeoObject.

Геообъект. В зависимости от типа геометрии может отображаться как метка, линия, полигон и т.д. Вы также можете использовать вспомогательные классы для упрощенного создания геообъектов с определенным типом геометрии.

См.: Placemark Polyline Polygon Circle Rectangle

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

Конструктор

GeoObject([feature[, options]])

Параметры:

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

Тип: Object

Описание геообъекта.

feature.geometry

Тип: IGeometry|Object

Геометрия геообъекта. Может задаваться как экземпляр класса, реализующего интерфейс IGeometry, либо в виде хэша с полями type и coordinates.

feature.properties

Тип: IDataManager|Object

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

Тип: Object

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

Тип: String

URL графического файла иконки в балуне кластера Cluster.

options.balloonIconImageOffset

Тип: Number[]

Пиксельный сдвиг иконки в балуне кластера Cluster по отношению к родительскому элементу.

options.balloonIconImageSize

Тип: Number[]

Размер иконки в балуне кластера Cluster в пикселях.

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.hideIconOnBalloonOpen true

Тип: Boolean

Скрывать иконку при открытии балуна.

options.iconColor

Тип: String

Цвет иконки (для растягивающихся под содержимое иконок).

options.iconContentLayout

Тип: Function|String

Макет содержимого иконки. (Тип: конструктор объекта с интерфейсом ILayout или его ключ в хранилище).

options.iconContentOffset

Тип: Number[]

Пиксельный сдвиг содержимого иконки относительно родительского элемента. Используется в макете default#imageWithContent.

options.iconContentPadding

Тип: Number[]

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

options.iconContentSize

Тип: Number[]

Размер содержимого. Используется в макете default#imageWithContent.

options.iconImageClipRect [[0, 0], [{imageWidth}, {imageHeight}]]

Тип: Number[][]

Прямоугольная область (указывается левый верхний и правый нижний углы), которая будет вырезана из исходного графического файла и смасштабирована под размеры иконки (например для использования спрайтов). По умолчанию исходная картинка подставляется полностью.

options.iconImageHref

Тип: String

URL графического файла иконки.

options.iconImageOffset

Тип: Number[]

Пиксельный сдвиг изображения иконки внутри родительского элемента.

options.iconImageSize

Тип: Number[]

Размер иконки в пикселях.

options.iconLayout

Тип: Function|String

Макет иконки. (Тип: конструктор объекта с интерфейсом ILayout или его ключ в хранилище).

options.iconMaxHeight

Тип: Number

Максимальная высота иконки с содержимым.

options.iconMaxWidth

Тип: Number

Максимальная ширина иконки с содержимым.

options.iconOffset

Тип: Number[]

Пиксельное смещение иконки относительно заданной позиции.

options.iconShadow false

Тип: Boolean

Флаг наличия тени у иконки.

options.iconShadowImageClipRect [[0, 0], [{imageWidth}, {imageHeight}]]

Тип: Number[][]

Прямоугольная область (указывается левый верхний и правый нижний углы), которая будет вырезана из исходного графического файла и смасштабирована под размеры тени (например для использования спрайтов). По умолчанию исходная картинка подставляется полностью.

options.iconShadowImageHref

Тип: String

URL графического файла тени иконки.

options.iconShadowImageOffset

Тип: Number[]

Пиксельный сдвиг изображения тени иконки внутри родительского элемента.

options.iconShadowImageSize

Тип: Number[]

Размер тени иконки.

options.iconShadowLayout

Тип: Function|String

Макет тени иконки. (Тип: конструктор объекта с интерфейсом ILayout или его ключ в хранилище).

options.iconShadowOffset

Тип: Number[]

Пиксельное смещение тени иконки относительно заданной позиции.

options.interactivityModel "default#geoObject"

Тип: String

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

options.opacity 1

Тип: Number

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

options.openBalloonOnClick true

Тип: Boolean

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

options.openEmptyBalloon false

Тип: Boolean

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

options.outline true

Тип: Boolean

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

options.overlayFactory "default#interactive"

Тип: String|IOverlayFactory

Фабрика оверлеев. На основе типа геометрии геообъекта создает те или иные оверлеи для отображения геообъекта. Список доступных фабрик смотрите в описании geoObject.overlayFactory.storage.

options.pane "overlays"

Тип: IPane|String

Контейнер оверлея геообъекта.

options.preset

Тип: String

Ключ предустановленных опций геообъекта. Список ключей, доступных в пакетах package.standard и package.full, содержится в описании option.presetStorage.

options.showEmptyHint false

Тип: Boolean

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

options.showHintOnHover true

Тип: Boolean

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

options.strokeColor "0066ffff"

Тип: String

Цвет линии или обводки.

options.strokeOpacity 1

Тип: Number

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

options.strokeStyle

Тип: String

Стиль линии или обводки.

options.strokeWidth 1

Тип: Number

Толщина линии или обводки.

options.visible true

Тип: Boolean

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

options.zIndex

Тип: Number

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

options.zIndexActive

Тип: Number

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

options.zIndexDrag

Тип: Number

z-index геообъекта при перетаскивании.

options.zIndexHover

Тип: Number

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

Примеры:

1.

var myGeoObject = new ymaps.GeoObject({
        // Описываем геометрию типа "Ломаная линия".
        geometry: {
            type: "LineString",
            coordinates: [
                [37.61, 55.75], [13.38, 52.51]
            ]
        },
        // Описываем данные геообъекта.
        properties: {
            hintContent: "Москва-Берлин"
        }
    }, {
        // Включаем отображение в форме геодезических кривых.
        geodesic: true,
        // Задаем ширину в 5 пикселей.
        strokeWidth: 5,
        // Задаем цвет линии.
        strokeColor: "#F008"
    });
// Добавляем геообъект на карту.
geoMap.geoObjects.add(myGeoObject);

2.

var myGeoObject = new ymaps.GeoObject({
        // Описываем геометрию типа "Точка".
        geometry: {
            type: "Point",
            coordinates: [37.61, 55.75]
        },
        // Описываем данные геообъекта.
        properties: {
            hintContent: "Москва",
            balloonContentHeader: "Москва",
            balloonContentBody: "Столица России",
            population: 11848762
        }
    }, {
        // Задаем пресет метки с точкой без содержимого.
        preset: "twirl#redDotIcon",
        // Включаем возможность перетаскивания.
        draggable: true,
        // Переопределяем макет содержимого нижней части балуна.
        balloonContentFooterLayout: ymaps.templateLayoutFactory.createClass(
            'население: $[properties.population], координаты: $[geometry.coordinates]'
        ),
        // Отключаем задержку закрытия всплывающей подсказки.
        hintHideTimeout: 0
    });
// Добавляем геообъект на карту.
geoMap.geoObjects.add(myGeoObject);

Поля

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

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

editor IGeometryEditor

Редактор геометрии геообъекта.

events event.Manager

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

geometry IGeometry

Геометрия геообъекта.

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

hint geoObject.Hint

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

options option.Manager

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

properties data.Manager

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

state data.Manager
Состояние геообъекта. Определяется следующими полями:
  • active - признак того, что на геообъекте открыт балун.
  • hover - признак того, что в данный момент на геообъект наведен указатель мыши.
  • drag - признак того, что геообъект перетаскивается.

События

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

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

balloonopen
Открытие балуна на геообъекте. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • balloon - экземпляр класса Balloon.
beforedrag
Событие, предшествующее событию drag. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • pixelOffset - массив из двух чисел, описывающий пиксельный сдвиг на данном шаге.
Имена методов, доступных через метод Event.callMethod:
  • setPixelOffset - метод, позволяющий скорректировать значение пиксельного сдвига, который будет фактически применен. В качестве аргумента принимает новый пиксельный сдвиг в виде массива из двух чисел.
Если у данного события вызвать метод Event.preventDefault, то последующее событие drag будет отменено.
beforedragstart
Событие, предшествующее событию dragstart. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.
Если у данного события вызвать метод Event.preventDefault, то последующее перетаскивание, как и событие dragstart, будет отменено.
click

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

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

contextmenu

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

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

dblclick

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

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

drag
Перетаскивание геообъекта. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • pixelOffset - массив из двух чисел, описывающий пиксельный сдвиг на данном шаге.
dragend

Завершение перетаскивания геообъекта. Экземпляр класса Event.

dragstart
Начало перетаскивания геообъекта. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.
editorstatechange
Изменение состояния редактора геометрии геообъекта. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • originalEvent - оригинальное событие редактора геометрии.
geometrychange
Изменение геометрии геообъекта. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • originalEvent - оригинальное событие геометрии.

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

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 c информацией о прикосновениях.

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

multitouchmove

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

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

multitouchstart

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

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

optionschange

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

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

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

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

parentchange

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

Поля данных:

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

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

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

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

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

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

wheel

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

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

Методы

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

Map

Returns ссылку на карту.

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

getOverlay()

IOverlay|null

Returns оверлей геообъекта, либо null.

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

getParent()

IParentOnMap

Returns ссылку на родительский объект.

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

setParent(parent)

IChildOnMap

Устанавливает родительский объект.

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

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

balloon

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

Пример:

// Открывает балун геообъекта и позиционирует его максимально близко к центру карты.
geoObject.balloon.open(myMap.getCenter());

editor

Редактор геометрии геообъекта.

Пример:

// Начало редактирования геометрии геообъекта.
geoObject.editor.startEditing();
// ...
// Завершение редактирования.
geoObject.editor.stopEditing();

events

{event.Manager} events

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

hint

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

Пример:

// Показывает хинт над геообъектом.
geoObject.hint.show();

options

{option.Manager} options

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

properties

{data.Manager} properties

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

state

{data.Manager} state
Состояние геообъекта. Определяется следующими полями:
  • active - признак того, что на геообъекте открыт балун.
  • hover - признак того, что в данный момент на геообъект наведен указатель мыши.
  • drag - признак того, что геообъект перетаскивается.

Описание событий

balloonclose

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

balloonopen

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

beforedrag

Событие, предшествующее событию drag. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • pixelOffset - массив из двух чисел, описывающий пиксельный сдвиг на данном шаге.
Имена методов, доступных через метод Event.callMethod:
  • setPixelOffset - метод, позволяющий скорректировать значение пиксельного сдвига, который будет фактически применен. В качестве аргумента принимает новый пиксельный сдвиг в виде массива из двух чисел.
Если у данного события вызвать метод Event.preventDefault, то последующее событие drag будет отменено.

Пример:

// Разрешаем перетаскивание геообъекта только вдоль горизонтальной оси.
geoObject.events.add("beforedrag", function (event) {
    var originalOffset = event.get("pixelOffset");
    event.callMethod("setPixelOffset", [originalOffset[0], 0]);
});

beforedragstart

Событие, предшествующее событию dragstart. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.
Если у данного события вызвать метод Event.preventDefault, то последующее перетаскивание, как и событие dragstart, будет отменено.

drag

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

dragend

Завершение перетаскивания геообъекта. Экземпляр класса Event.

dragstart

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

editorstatechange

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