GeoObject
Расширяет IGeoObject.
Геообъект. В зависимости от типа геометрии может отображаться как метка, линия, полигон и т.д. Вы также можете использовать вспомогательные классы для упрощенного создания геообъектов с определенным типом геометрии.
См.: PlacemarkPolylinePolygonCircleRectangle
Конструктор
GeoObject([feature[, options]])
Параметры:
Параметр |
Значение по умолчанию |
Описание |
|
— |
Тип: Object Описание геообъекта. |
|
feature.geometry |
Тип: IGeometry|Object Геометрия геообъекта. Может задаваться как экземпляр класса, реализующего интерфейс IGeometry, либо в виде хэша с полями type и coordinates. |
|
— |
Тип: IDataManager|Object Данные геообъекта. Могут задаваться как экземпляр класса, реализующего интерфейс IDataManager, либо в виде хэша. При значениях опций по умолчанию, геообъектом трактуются следующие поля данных: • iconContent - содержимое иконки геообъекта; • hintContent - содержимое всплывающей подсказки геообъекта; • balloonContent - содержимое балуна геообъекта; • balloonContentHeader - содержимое заголовка балуна геообъекта; • balloonContentBody - содержимое основой части балуна геообъекта; • balloonContentFooter - содержимое нижней части балуна геообъекта. Поле balloonContent является кратким обозначением для поля balloonContentBody, но при одновременном задании balloonContentBody более приоритетен. Также вы можете дополнить данные геообъекта своими собственными полями и использовать их везде, где это возможно. Например в макете метки или макете балуна. |
|
— |
Тип: Object Опции геообъекта. Используя этот параметр можно задавать как опции самого геообъекта, так и опции его составных частей: • Опции всплывающей подсказки геообъекта с префиксом • Опции редактора геометрии геообъекта с префиксом • Опции геометрии могут задаваться без префикса. Смотрите описание классов IGeometry геометрий geometry.Point, geometry.Polygon и др. |
|
— |
Тип: String URL графического файла иконки в балуне кластера Cluster. |
|
— |
Тип: Number[] Пиксельный сдвиг иконки в балуне кластера Cluster по отношению к родительскому элементу. |
|
— |
Тип: Number[] Размер иконки в балуне кластера Cluster в пикселях. |
|
"pointer" |
Тип: String Вид курсора над геообъектом. |
|
false |
Тип: Boolean Определяет возможность перетаскивания геообъекта. |
|
true |
Тип: Boolean Наличие заливки фигуры. |
|
"0066ff99" |
Тип: String Цвет заливки. |
|
— |
Тип: String Фоновое изображение. При включении данной опции в режиме заливки stretch значение fillColor игнорируется. |
|
'stretch' |
Тип: String Тип заливки фоном. Может принимать одно из двух значений: • tile - Фоновое изображение повторяется без изменений размера. Аналог background-repeat в css. Можно использовать для заливки фигуры неким шаблоном. |
|
1 |
Тип: Number Прозрачность заливки. |
|
true |
Тип: Boolean Определяет наличие поля balloon у геообъекта. |
|
true |
Тип: Boolean Определяет наличие поля hint у геообъекта. |
|
true |
Тип: Boolean Скрывать иконку при открытии балуна. |
|
— |
Тип: String Цвет иконки (для растягивающихся под содержимое иконок). |
|
— |
Тип: Function|String Макет содержимого иконки. (Тип: конструктор объекта с интерфейсом ILayout или его ключ в хранилище). |
|
— |
Тип: Number[] Пиксельный сдвиг содержимого иконки относительно родительского элемента. Используется в макете default#imageWithContent. |
|
— |
Тип: Number[] Отступ для содержимого в иконке. |
|
— |
Тип: Number[] Размер содержимого. Используется в макете default#imageWithContent. |
|
[[0, 0], [{imageWidth}, {imageHeight}]] |
Тип: Number[][] Прямоугольная область (указывается левый верхний и правый нижний углы), которая будет вырезана из исходного графического файла и смасштабирована под размеры иконки (например для использования спрайтов). По умолчанию исходная картинка подставляется полностью. |
|
— |
Тип: String URL графического файла иконки. |
|
— |
Тип: Number[] Пиксельный сдвиг изображения иконки внутри родительского элемента. |
|
— |
Тип: Number[] Размер иконки в пикселях. |
|
— |
Тип: Function|String Макет иконки. (Тип: конструктор объекта с интерфейсом ILayout или его ключ в хранилище). |
|
— |
Тип: Number Максимальная высота иконки с содержимым. |
|
— |
Тип: Number Максимальная ширина иконки с содержимым. |
|
— |
Тип: Number[] Пиксельное смещение иконки относительно заданной позиции. |
|
false |
Тип: Boolean Флаг наличия тени у иконки. |
|
[[0, 0], [{imageWidth}, {imageHeight}]] |
Тип: Number[][] Прямоугольная область (указывается левый верхний и правый нижний углы), которая будет вырезана из исходного графического файла и смасштабирована под размеры тени (например для использования спрайтов). По умолчанию исходная картинка подставляется полностью. |
|
— |
Тип: String URL графического файла тени иконки. |
|
— |
Тип: Number[] Пиксельный сдвиг изображения тени иконки внутри родительского элемента. |
|
— |
Тип: Number[] Размер тени иконки. |
|
— |
Тип: Function|String Макет тени иконки. (Тип: конструктор объекта с интерфейсом ILayout или его ключ в хранилище). |
|
— |
Тип: Number[] Пиксельное смещение тени иконки относительно заданной позиции. |
|
"default#geoObject" |
Тип: String Модель интерактивности. Доступные ключи и их значения перечислены в описании interactivityModel.storage. |
|
1 |
Тип: Number Прозрачность. |
|
true |
Тип: Boolean Определяет показывать ли балун при щелчке на геообъекте. |
|
false |
Тип: Boolean Определяет показывать ли пустой балун при щелчке на геообъекте. |
|
true |
Тип: Boolean Наличие обводки фигуры. |
|
"default#interactive" |
Тип: String|IOverlayFactory Фабрика оверлеев. На основе типа геометрии геообъекта создает те или иные оверлеи для отображения геообъекта. Список доступных фабрик смотрите в описании geoObject.overlayFactory.storage. |
|
"overlays" |
Тип: IPane|String Контейнер оверлея геообъекта. |
|
— |
Тип: String Ключ предустановленных опций геообъекта. Список ключей, доступных в пакетах package.standard и package.full, содержится в описании option.presetStorage. |
|
false |
Тип: Boolean Определяет показывать ли пустой хинт при наведении указателя мыши на геообъект. |
|
true |
Тип: Boolean Определяет показывать ли хинт при наведении указателя мыши на геообъект. |
|
"0066ffff" |
Тип: String Цвет линии или обводки. |
|
1 |
Тип: Number Прозрачность линии или обводки. |
|
— |
Тип: String Стиль линии или обводки. |
|
1 |
Тип: Number Толщина линии или обводки. |
|
true |
Тип: Boolean Определяет видимость геообъекта. |
|
— |
Тип: Number z-index геообъекта в обычном состоянии. Наименее приоритетный. |
|
— |
Тип: Number z-index геообъекта с открытым балуном. Наиболее приоритетный. |
|
— |
Тип: Number z-index геообъекта при перетаскивании. |
|
— |
Тип: 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);
Поля
Имя |
Тип |
Описание |
Балун геообъекта. |
||
Редактор геометрии геообъекта. |
||
Менеджер событий. |
||
Геометрия геообъекта. Унаследовано от IGeoObject. |
||
Хинт геообъекта. |
||
Менеджер опций геообъекта. |
||
Менеджер данных геообъекта. |
||
Состояние геообъекта. Определяется следующими полями: • hover - признак того, что в данный момент на геообъект наведен указатель мыши. • drag - признак того, что геообъект перетаскивается. |
События
Имя |
Описание |
Закрытие балуна. Экземпляр класса Event. |
|
Открытие балуна на геообъекте. Экземпляр класса Event. Имена полей, доступных через метод Event.get: • balloon - экземпляр класса Balloon. |
|
Событие, предшествующее событию drag. Экземпляр класса Event. Имена полей, доступных через метод Event.get: • pixelOffset - массив из двух чисел, описывающий пиксельный сдвиг на данном шаге. Имена методов, доступных через метод Event.callMethod: • setPixelOffset - метод, позволяющий скорректировать значение пиксельного сдвига, который будет фактически применен. В качестве аргумента принимает новый пиксельный сдвиг в виде массива из двух чисел. Если у данного события вызвать метод Event.preventDefault, то последующее событие drag будет отменено. |
|
Событие, предшествующее событию dragstart. Экземпляр класса Event. Имена полей, доступных через метод Event.get: • domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется. Если у данного события вызвать метод Event.preventDefault, то последующее перетаскивание, как и событие dragstart, будет отменено. |
|
Однократное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
|
Вызов контекстного меню на элементе. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
|
Двойное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
|
Перетаскивание геообъекта. Экземпляр класса Event. Имена полей, доступных через метод Event.get: • pixelOffset - массив из двух чисел, описывающий пиксельный сдвиг на данном шаге. |
|
Завершение перетаскивания геообъекта. Экземпляр класса Event. |
|
Начало перетаскивания геообъекта. Экземпляр класса Event. Имена полей, доступных через метод Event.get: • domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется. |
|
Изменение состояния редактора геометрии геообъекта. Экземпляр класса Event. Имена полей, доступных через метод Event.get: • originalEvent - оригинальное событие редактора геометрии. |
|
Изменение геометрии геообъекта. Экземпляр класса Event. Имена полей, доступных через метод Event.get: • originalEvent - оригинальное событие геометрии. Унаследовано от IGeoObject. |
|
Сменилась карта. Поля данных: • newMap - новая карта. Унаследовано от IParentOnMap. |
|
Нажатие кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
|
Наведение курсора на объект. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
|
Вывод курсора за пределы объекта. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
|
Перемещение курсора над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
|
Отпускание кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
|
Окончание мультисенсорного управления. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Унаследовано от IDomEventEmitter. |
|
Повторящееся событие при мультисенсорном управлении. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Унаследовано от IDomEventEmitter. |
|
Начало мультисенсорного управления. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Унаследовано от IDomEventEmitter. |
|
Изменение в опциях объекта. Унаследовано от ICustomizable. |
|
Изменение оверлея геообъекта. Экземпляр класса Event. Имена полей, доступных через метод Event.get: • newOverlay - новый оверлей, либо null, если оверлея нет; • oldOverlay - старый оверлей, либо null, если оверлея нет. Унаследовано от IGeoObject. |
|
Сменился родительский объект. Поля данных: • oldParent - старый родитель; • newParent - новый родитель. Унаследовано от IChild. |
|
Изменение пиксельной геометрии геообъекта. Экземпляр класса Event. Имена полей, доступных через метод Event.get: • newPixelGeometry - новая пиксельная геометрия; • oldPixelGeometry - старая пиксельная геометрия. Унаследовано от IGeoObject. |
|
Изменение данных геообъекта. Экземпляр класса Event. Имена полей, доступных через метод Event.get: • originalEvent - оригинальное событие менеджера данных. Унаследовано от IGeoObject. |
|
Скролл мышкой. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
Методы
Имя |
Возвращает |
Описание |
getMap() |
Returns ссылку на карту. Унаследован от IParentOnMap. |
|
IOverlay|null |
Returns оверлей геообъекта, либо null. Унаследован от IGeoObject. |
|
Returns ссылку на родительский объект. Унаследован от 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 - оригинальное событие редактора геометрии.