control.GeolocationControl

Расширяет control.Button.

Элемент управления "геолокация". Позволяет отразить положение пользователя на карте. Ключ элемента управления в хранилище control.storage — "geolocationControl".

См.: geolocation

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

Конструктор

control.GeolocationControl([parameters])

Параметры:

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

Тип: Object

Параметры элемента управления.

parameters.data

Тип: Object

Объект, описывающий данные элемента управления.

parameters.data.image'geolocation'

Тип: String

URL иконки кнопки.

parameters.data.title

Тип: String

Текст всплывающей подсказки, которая появляется при наведении на кнопку курсора мыши.

parameters.options

Тип: Object

Опции элемента управления.

parameters.options.adjustMapMarginfalse

Тип: Boolean

Регистрирует ли элемент управления свои размеры в менеджере отступов карты map.margin.Manager.

parameters.options.float"right"

Тип: String

Сторона, по которой нужно выравнивать элемент управления. Может принимать три значения: "left", "right" или "none". При значении "left" или "right" элементы управления выстраиваются друг за другом, начиная от левого или правого края карты соответственно. При значении "none" элементы управления позиционируется только по значениям опций left, right, bottom, top относительно границ карты. Также смотрите описание опции position.

parameters.options.floatIndex300

Тип: Number

Приоритет расположения элемента управления. Элемент с максимальным приоритетом находится ближе к указанному в свойстве float краю карты. Не работает при float = "none".

parameters.options.maxWidth28

Тип: Number|Number[]

Максимальная ширина элемента управления в различных состояниях. Если задано число, то считается, что элемент управления имеет одинаковые максимальные размеры во всех состояниях. Если задан массив, то он будет трактоваться как максимальная ширина в различных состояниях - от меньшего к большему. Количество доступных состояний задается в экземпляре класса control.Manager через опцию states. Этот класс обычно является полем Map.controls. По умолчанию элемент управления не изменяет своего размера, всегда имея вид кнопки с иконкой.

parameters.options.noPlacemarkfalse

Тип: Boolean

При значении true метка-местоположение не будет показана на карте, а так же не произойдет автоматической смены центра и масштабирования карты.

parameters.options.position

Тип: Object

Объект, описывающий позицию элемента управления. При указании опции position значение опции float автоматически трактуется как "none".

parameters.options.position.bottom'auto'

Тип: Number|String

Положение относительно нижнего края карты.

parameters.options.position.left'auto'

Тип: Number|String

Положение относительно левого края карты.

parameters.options.position.right'auto'

Тип: Number|String

Положение относительно правого края карты.

parameters.options.position.top'auto'

Тип: Number|String

Положение относительно верхнего края карты.

parameters.options.visibletrue

Тип: Boolean

Признак того, что элемент управления отображается.

parameters.state

Тип: Object

Объект, описывающий состояние элемента управления.

options.useMapMargintrue

Тип: Boolean

Нужно ли учитывать отступы карты map.margin.Manager при ее центрировании.

Пример:

// Добавим элемент управления с собственной меткой геолокации на карте.
var geolocationControl = new ymaps.control.GeolocationControl({
    options: {noPlacemark: true}
});
geolocationControl.events.add('locationchange', function (event) {
    var position = event.get('position'),
    // При создании метки можно задать ей любой внешний вид.
        locationPlacemark = new ymaps.Placemark(position);

    myMap.geoObjects.add(locationPlacemark);
    // Установим новый центр карты в текущее местоположение пользователя.
    myMap.panTo(position);
});
myMap.controls.add(geolocationControl);

Поля

ИмяТипОписание
datadata.Manager
Данные кнопки. Имена полей, доступных через метод data.Manager.get:
  • image - иконка кнопки, если есть;
  • content - cодержимое кнопки в виде HTML;
  • title - текст всплывающей подсказки, которая появляется при наведении на кнопку курсора мыши.

Унаследовано от control.Button.

eventsIEventManager

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

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

optionsIOptionManager

Менеджер опций.

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

press

Событие, сигнализирующее о том, что кнопка была нажата. В отличии от click генерируется только если состояние isEnabled == true. Экземпляр класса Event.

Унаследовано от control.Button.

statedata.Manager
Состояние кнопки. Имена полей, доступных через метод data.Manager.get:
  • selected - признак, нажата ли кнопка;
  • enabled - признак, активна ли кнопка;
  • size - размер, который в данный момент выставлен кнопке;

Унаследовано от control.Button.

События

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

Нажатие на кнопку. Экземпляр класса Event.

Унаследовано от control.Button.

deselect

Элемент управления не выбран.

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

disable

Элемент управления стал недоступным.

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

enable

Элемент управления стал доступным.

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

locationchange
Событие определения положения пользователя. Список полей события, доступных через метод Event.get:
  • position — местоположение пользователя в географических координатах.
  • geoObjects — экземпляр класса GeoObjectCollection, в котором находится объект, обозначающий текущее местоположение пользователя.
optionschange

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

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

parentchange

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

Поля данных:

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

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

select

Элемент управления выбран.

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

Методы

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

Отменяет выбор элемента управления (выключает).

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

disable()

Делает элемент управления недоступным (запрещены пользовательские действия).

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

enable()

Делает элемент управления доступным (разрешены пользовательские действия).

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

getMap()

Map

Возвращает ссылку на карту.

Унаследован от control.Button.

getParent()

IControlParent|null

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

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

isEnabled()

Boolean

Возвращает true - элемент управления доступен, false - недоступен.

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

isSelected()

Boolean

Возвращает true - элемент управления выбран, false - не выбран.

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

select()

Выбирает (включает) элемент управления.

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

setParent(parent)

IChildOnMap

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

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

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

locationchange

Событие определения положения пользователя. Список полей события, доступных через метод Event.get:
  • position — местоположение пользователя в географических координатах.
  • geoObjects — экземпляр класса GeoObjectCollection, в котором находится объект, обозначающий текущее местоположение пользователя.