GeoObject

Расширяет IGeoObject.

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

См.: PlacemarkPolylinePolygonCircleRectangle

Конструктор

GeoObject([feature[, options]])

Параметры:

Параметр

Значение по умолчанию

Описание

feature

Тип: Object

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

feature.geometry

feature.geometry

Тип: IGeometry|Object

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

feature.properties

Тип: IDataManager|Object

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

• iconContent - содержимое иконки геообъекта;

• hintContent - содержимое всплывающей подсказки геообъекта;

• balloonContent - содержимое балуна геообъекта;

• balloonContentHeader - содержимое заголовка балуна геообъекта;

• balloonContentBody - содержимое основой части балуна геообъекта;

• balloonContentFooter - содержимое нижней части балуна геообъекта.

Поле balloonContent является кратким обозначением для поля balloonContentBody, но при одновременном задании balloonContentBody более приоритетен. Также вы можете дополнить данные геообъекта своими собственными полями и использовать их везде, где это возможно. Например в макете метки или макете балуна.

options

Тип: Object

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

• Опции всплывающей подсказки геообъекта с префиксом hint.

• Опции редактора геометрии геообъекта с префиксом editor. Тип редактора и перечень доступных опций зависит от типа геометрии геообъекта. Смотрите описание классов geometryEditor.LineString, geometryEditor.Polygon, geometryEditor.Point.

• Опции геометрии могут задаваться без префикса. Смотрите описание классов IGeometry геометрий geometry.Point, geometry.Polygon и др.

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} balloon

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

Пример:

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

editor

{IGeometryEditor} editor

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

Пример:

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

events

{event.Manager} events

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

hint

{geoObject.Hint} 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 - оригинальное событие редактора геометрии.

Предыдущая
Следующая