GeoObject
Расширяет IGeoObject.
Геообъект. В зависимости от типа геометрии может отображаться как метка, линия, полигон и т.д. Вы также можете использовать вспомогательные классы для упрощенного создания геообъектов с определенным типом геометрии.
См.: PlacemarkPolylinePolygonCircleRectangle
Конструктор | Поля | События | Методы
Конструктор
GeoObject([feature[, options]])
Параметры:
Параметр |
Значение по умолчанию |
Описание |
— |
Тип: Object Описание геообъекта. |
|
— |
Тип: IGeometry|IGeometryJson Геометрия геообъекта. Может задаваться непосредственно объектом, либо в виде объекта JSON-представления геометрии. Примеры классов и объектов, которые могут представлять геометрию - geometry.Point, geometry.json.Point. |
|
— |
Тип: IDataManager|Object Данные геообъекта. Могут задаваться как экземпляр класса, реализующего интерфейс IDataManager, либо в виде хэша. При значениях опций по умолчанию геообъектом трактуются следующие поля данных:
|
|
— |
Тип: Object Опции геообъекта. Используя этот параметр можно задавать как опции самого геообъекта, так и опции его составных частей:
|
|
"default#circle" |
Тип: String|Function Ключ-идентификатор из хранилища overlay.storage или класс оверлея. Функция-генератор принимает три параметра:
|
|
"pointer" |
Тип: String Вид курсора над геообъектом. |
|
false |
Тип: Boolean Определяет возможность перетаскивания геообъекта. |
|
true |
Тип: Boolean Наличие заливки фигуры. |
|
"0066ff99" |
Тип: String Цвет заливки. |
|
— |
Тип: String Фоновое изображение. При включении данной опции в режиме заливки stretch значение опции fillColor игнорируется. |
|
'stretch' |
Тип: String Тип заливки фоном. Может принимать одно из двух значений:
|
|
1 |
Тип: Number Прозрачность заливки. |
|
true |
Тип: Boolean Определяет наличие поля balloon у геообъекта. |
|
true |
Тип: Boolean Определяет наличие поля hint у геообъекта. |
|
true |
Тип: Boolean Скрывать иконку при открытии балуна. |
|
188 |
Тип: Number Максимальная ширина подписи метки. |
|
— |
Тип: String Цвет иконки. Эта опция применяется для стандартных иконок в браузерах, поддерживающих SVG. |
|
— |
Тип: Function|String Макет содержимого иконки. (Тип: конструктор объекта с интерфейсом ILayout или его ключ в хранилище). |
|
— |
Тип: Number[] Пиксельный сдвиг содержимого иконки относительно родительского элемента. Используется в макете default#imageWithContent. |
|
— |
Тип: Number[] Отступ для содержимого в иконке. |
|
— |
Тип: Number[] Размер содержимого. Используется в макете default#imageWithContent. |
|
[[0, 0], [{imageWidth}, {imageHeight}]] |
Тип: Number[][] Прямоугольная область (указывается левый верхний и правый нижний углы), которая будет вырезана из исходного графического файла и смасштабирована под размеры иконки (например для использования спрайтов). По умолчанию исходная картинка подставляется полностью. |
|
— |
Тип: String URL графического файла иконки. Применяется только в комбинации с макетами (iconLayout) 'default#image' и 'default#imageWithContent'. |
|
— |
Тип: Number[] Пиксельный сдвиг изображения иконки внутри родительского элемента. |
|
— |
Тип: IShape|null Фигура активной области. Если не задана, то автоматически будет рассчитана прямоугольная фигура на основе размера и смещения картинки. Координаты геометрии фигуры отсчитываются от точки привязки. Применяется только в комбинации с макетами (iconLayout) 'default#image' и 'default#imageWithContent'. |
|
— |
Тип: Number[] Размер иконки в пикселях. |
|
— |
Тип: Function|String Макет иконки. (Тип: конструктор объекта с интерфейсом ILayout или его ключ в хранилище). |
|
— |
Тип: Number Максимальная высота иконки с содержимым. |
|
— |
Тип: Number Максимальная ширина иконки с содержимым. |
|
[0, 0] |
Тип: Number[] Пиксельное смещение левого верхнего угла иконки относительно географической точки привязки метки. |
|
false |
Тип: Boolean Флаг наличия тени у иконки. |
|
[[0, 0], [{imageWidth}, {imageHeight}]] |
Тип: Number[][] Прямоугольная область (указывается левый верхний и правый нижний углы), которая будет вырезана из исходного графического файла и смасштабирована под размеры тени (например для использования спрайтов). По умолчанию исходная картинка подставляется полностью. |
|
— |
Тип: String URL графического файла тени иконки. Применяется только в комбинации с макетами (iconShadowLayout) 'default#image' и 'default#imageWithContent'. |
|
— |
Тип: Number[] Пиксельный сдвиг изображения тени иконки внутри родительского элемента. |
|
— |
Тип: Number[] Размер тени иконки. |
|
— |
Тип: Function|String Макет тени иконки. (Тип: конструктор объекта с интерфейсом ILayout или его ключ в хранилище). |
|
— |
Тип: Number[] Пиксельное смещение тени иконки относительно заданной позиции. |
|
— |
Тип: Boolean Включает режим автоматического изменения z-index геообъекта в зависимости от его состояния. По умолчанию принимает значение true для геометрии geometry.Point и false для других геометрий. |
|
"default#geoObject" |
Тип: String Модель интерактивности. Доступные ключи и их значения перечислены в описании interactivityModel.storage. |
|
"default#polyline" |
Тип: String|Function Ключ-идентификатор из хранилища overlay.storage или класс оверлея. Функция-генератор принимает три параметра:
|
|
1 |
Тип: Number Прозрачность. |
|
true |
Тип: Boolean Определяет показывать ли балун при щелчке на геообъекте. |
|
false |
Тип: Boolean Определяет показывать ли пустой балун при щелчке на геообъекте. |
|
false |
Тип: Boolean Определяет показывать ли пустой хинт при наведении указателя мыши на геообъект. |
|
true |
Тип: Boolean Определяет показывать ли хинт при наведении указателя мыши на геообъект. |
|
true |
Тип: Boolean Наличие обводки фигуры. |
|
— |
Тип: String Ключ пейна, в который помещается оверлей геообъекта. Значение по умолчанию определяется текущим оверлеем. |
|
"default#placemark" |
Тип: String|Function Ключ-идентификатор из хранилища overlay.storage или класс оверлея. Функция-генератор принимает три параметра:
|
|
"default#polygon" |
Тип: String|Function Ключ-идентификатор из хранилища overlay.storage или класс оверлея. Функция-генератор принимает три параметра:
|
|
— |
Тип: String Ключ предустановленных опций геообъекта. Список ключей содержится в описании option.presetStorage. |
|
"default#rectangle" |
Тип: String|Function Ключ-идентификатор из хранилища overlay.storage или класс оверлея. Функция-генератор принимает три параметра:
|
|
false |
Тип: Boolean true — при перетаскивании объекта выставлять курсор «сжатая рука» и на объект, и на карту, false — только на сам объект. |
|
"0066ffff" |
Тип: String|String[] Цвет линии или обводки. Можно задать несколько значений для множественной обводки. |
|
1 |
Тип: Number|Number[] Прозрачность линии или обводки. Можно задать несколько значений для множественной обводки. |
|
— |
Тип: String|Object|String[]|Object[] Стиль линии или обводки. Можно задать несколько значений для множественной обводки. Доступные стили перечислены в объекте graphics.style.stroke. |
|
1 |
Тип: Number|Number[] Толщина линии или обводки. Можно задать несколько значений для множественной обводки. |
|
false |
Тип: Boolean Включает синхронное добавление оверлея на карту. По умолчанию добавление оверлея осуществляется асинхронно, что позволяет предотвратить зависания браузера при добавлении на карту большого числа геообъектов. Однако, асинхронное добавление не позволяет получать доступ к оверлею сразу после добавления геообъекта на карту. |
|
true |
Тип: Boolean При перетаскивании объекта к краю карты происходит автоматическое изменение центра карты. Нужно ли учитывать отступы карты при автоматическом смещении центра карты map.margin.Manager. |
|
true |
Тип: Boolean Определяет видимость геообъекта. |
|
— |
Тип: Number z-index геообъекта в обычном состоянии. Наименее приоритетный. |
|
— |
Тип: Number z-index геообъекта с открытым балуном. Наиболее приоритетный. |
|
— |
Тип: Number z-index геообъекта при перетаскивании. |
|
— |
Тип: Number z-index геообъекта при наведении на него указателя мыши. |
Примеры:
1.
var myGeoObject = new ymaps.GeoObject({
// Определение типа геометрии" Полилиния".
geometry: {
type: "LineString",
coordinates: [
[55.75, 37.61], [52.51, 13.38]
]
},
// Определение данных геообъекта.
properties: {
hintContent: "Москва-Берлин"
}
}, {
// Включение режима отображения в виде геодезических кривых.
geodesic: true,
// Установка ширины до 5 пикселей.
strokeWidth: 5,
// Установка цвета линии.
strokeColor: "#F008"
});
// Добавление геообъекта на карту.
geoMap.geoObjects.add(myGeoObject);
2.
var myGeoObject = new ymaps.GeoObject({
// Определение геометрии" Point".
geometry: {
type: "Point",
coordinates: [55.75, 37.61]
},
// Определение данных геообъекта.
properties: {
hintContent: "Москва",
balloonContentHeader: "Москва",
balloonContentBody: "Столица России",
population: 11848762
}
}, {
// Установка предустановки для метки с точкой и без содержимого.
preset: "islands#redDotIcon",
// Включение перетаскивания.
draggable: true,
// Переопределение макета для содержимого в нижней части воздушного шара.
balloonContentFooterLayout: ymaps.templateLayoutFactory.createClass(
'population: {{ properties.population }}, coordinates: {{ geometry.coordinates }}'
),
// Отключение задержки для закрытия всплывающей подсказки.
hintCloseTimeout: null
});
// Добавление геообъекта на карту.
geoMap.geoObjects.add(myGeoObject);
Поля
Имя |
Тип |
Описание |
Балун геообъекта. |
||
Редактор геометрии геообъекта. |
||
Менеджер событий. |
||
IGeometry|null |
Геометрия геообъекта. |
|
Хинт геообъекта. |
||
Менеджер опций геообъекта. |
||
Менеджер данных геообъекта. |
||
Состояние геообъекта. Определяется следующими полями:
|
События
Имя |
Описание |
Закрытие балуна. Экземпляр класса Event. |
|
Открытие балуна на геообъекте. Экземпляр класса Event. |
|
Событие, предшествующее событию drag. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
|
Событие, предшествующее событию dragstart. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
|
Однократное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Унаследовано от IDomEventEmitter. |
|
Вызов контекстного меню на элементе. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Унаследовано от IDomEventEmitter. |
|
Двойное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Унаследовано от IDomEventEmitter. |
|
Перетаскивание геообъекта. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
|
Завершение перетаскивания геообъекта. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
|
Начало перетаскивания геообъекта. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
|
Изменение состояния редактора геометрии геообъекта. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
|
Изменение геометрии геообъекта. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
Унаследовано от IGeoObject. |
|
Закрытие хинта. Экземпляр класса Event. |
|
Открытие хинта на геообъекте. Экземпляр класса Event. |
|
Сменилась карта. Поля данных:
Унаследовано от IParentOnMap. |
|
Нажатие кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Унаследовано от IDomEventEmitter. |
|
Наведение курсора на объект. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Унаследовано от IDomEventEmitter. |
|
Вывод курсора за пределы объекта. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Унаследовано от IDomEventEmitter. |
|
Перемещение курсора над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Унаследовано от IDomEventEmitter. |
|
Отпускание кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Унаследовано от IDomEventEmitter. |
|
Окончание мультисенсорного управления. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent. Унаследовано от IDomEventEmitter. |
|
Повторящееся событие при мультисенсорном управлении. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Определяет свойство touches, которое содержит список прикосновений. Каждое прикосновение описано объектом, которое содержит поля:
Унаследовано от IDomEventEmitter. |
|
Начало мультисенсорного управления. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Определяет свойство touches, которое содержит список прикосновений. Каждое прикосновение описано объектом, которое содержит поля:
Унаследовано от IDomEventEmitter. |
|
Изменение в опциях объекта. Унаследовано от ICustomizable. |
|
Изменение оверлея геообъекта. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
Унаследовано от IGeoObject. |
|
Сменился родительский объект. Поля данных:
Унаследовано от IChild. |
|
Изменение данных геообъекта. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
Унаследовано от IGeoObject. |
|
Скролл мышкой. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Унаследовано от IDomEventEmitter. |
Методы
Имя |
Возвращает |
Описание |
getMap() |
Возвращает ссылку на карту. Унаследован от IParentOnMap. |
|
Возвращает объект-обещание, который подтверждается объектом оверлея в момент его фактического создания, либо отклоняется с передачей соответствующей ошибки. Унаследован от IGeoObject. |
||
IOverlay|null |
Метод предоставляет синхронный доступ к оверлею. Унаследован от IGeoObject. |
|
IParentOnMap|null |
Возвращает ссылку на родительский объект или null, если родительский элемент не был установлен. Унаследован от IChildOnMap. |
|
Устанавливает родительский объект. Если передать значение null, то элемент управления будет только удален из текущего родительского объекта. Унаследован от IChildOnMap. |
Описание полей
balloon
{geoObject.Balloon} balloon
Балун геообъекта.
editor
{IGeometryEditor} editor
Редактор геометрии геообъекта.
Пример:
// Начало редактирования геометрии геообъекта.
geoObject.editor.startEditing();
// ...
// Завершение редактирования.
geoObject.editor.stopEditing();
events
{event.Manager} events
Менеджер событий.
geometry
{IGeometry|null} geometry
Геометрия геообъекта.
Пример:
// При изменении координат геометрии геообъекта устанавливаем карте границы так,
// чтобы охватить геообъект целиком.
myMap.geoObjects.add(myGeoObject);
myGeoObject.geometry.events.add("change", function () {
myMap.setBounds(myGeoObject.geometry.getBounds());
});
hint
{geoObject.Hint} hint
Хинт геообъекта.
options
{option.Manager} options
Менеджер опций геообъекта.
properties
{data.Manager} properties
Менеджер данных геообъекта.
Пример:
// При изменении данных выводим пользовательский идентификатор
// (если у объекта поле "synchronized" принимает значение false).
myGeoObject.properties.events.add("change", function () {
if (!myGeoObject.properties.get("synchronized")) {
console.log(myGeoObject.properties.get("myID"));
}
});
state
{data.Manager} state
Состояние геообъекта. Определяется следующими полями:
- active: Boolean - признак того, что на геообъекте открыт балун.
- hover: Boolean - признак того, что в данный момент на геообъект наведен указатель мыши;
- drag: Boolean - признак того, что в данный момент геообъект перетаскивается.
Описание событий
balloonclose
Закрытие балуна. Экземпляр класса Event.
balloonopen
Открытие балуна на геообъекте. Экземпляр класса Event.
beforedrag
Событие, предшествующее событию drag. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
- position - координаты относительно документа. Массива вида [pageX, pageY];
- pixelOffset - массив из двух чисел, описывающий пиксельный сдвиг на данном шаге;
- domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.
Имена методов, доступных через метод 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:
- position - координаты относительно документа. Массива вида [pageX, pageY];
- domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.
Если у данного события вызвать метод Event.preventDefault, то последующее перетаскивание, как и событие "dragstart", будет отменено.
drag
Перетаскивание геообъекта. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
- position - координаты относительно документа. Массива вида [pageX, pageY];
- pixelOffset - массив из двух чисел, описывающий пиксельный сдвиг на данном шаге;
- domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.
dragend
Завершение перетаскивания геообъекта. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
- position - координаты относительно документа. Массива вида [pageX, pageY];
- domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.
dragstart
Начало перетаскивания геообъекта. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
- position - координаты относительно документа. Массива вида [pageX, pageY];
- domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.
editorstatechange
Изменение состояния редактора геометрии геообъекта. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
- originalEvent - оригинальное событие редактора геометрии.
hintclose
Закрытие хинта. Экземпляр класса Event.
hintopen
Открытие хинта на геообъекте. Экземпляр класса Event.