Документация
Справочник JavaScript API
2.1.64 (текущая версия)
collection
interactivityModel
Интерфейсы

control.TrafficControl

Расширяет IControl, ICustomizable.

Панель управления пробками на карте.

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

Конструктор

control.TrafficControl([parameters])

Параметры:

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

Тип: Object

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

parameters.options

Тип: Object

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

parameters.options.adjustMapMargin false

Тип: Boolean

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

parameters.options.collapseOnBlur true

Тип: Boolean

Флаг, разрешающий сворачиваение панели при потере фокуса на элементе управления. Например при клике на документ.

parameters.options.float "right"

Тип: String

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

parameters.options.floatIndex 100

Тип: Number

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

parameters.options.layout

Тип: Function|String

Макет элемента управления. В конструктор макета передается объект, содержащий поля:

  • control - ссылка на элемент управления;
  • options - менеджер опций элемента управления control.TrafficControl.options;
  • data — менеджер данных элемента управления control.TrafficControl.data;
  • state — менеджер состояний элемента управления control.TrafficControl.state;
Макет меняет свой внешний вид на основе данных, состояния и опций элемента управления. Элемент управления, в свою очередь, реагирует на интерфейсные события макета и меняет значения полей control.TrafficControl.state в зависимости от полученных команд. (Тип: конструктор объекта с интерфейсом ITrafficControlLayout или ключ макета).

parameters.options.maxWidth [26, 195, 195]

Тип: Number|Number[]

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

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.size 'auto'

Тип: String

Параметр, отвечающий за внешний вид стандартного макета элемента управления пробками. Может принимать значения:

  • 'auto' — макет автоматически изменяет свой внешний вид в зависимости от размеров карты и от количества добавленных элементов управления;
  • 'small' - в макете кнопки отображается только иконка светофора, независимо от размера карты;
  • 'large' - в макете кнопки всегда отображается иконка сфетофора и текст, независимо от размера карты.

parameters.options.visible true

Тип: Boolean

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

parameters.state

Тип: Object

Состояние элемента управления.

parameters.state.providerKey 'traffic#actual'

Тип: String

Ключ провайдера пробок, показываемых на карте.

  • 'traffic#actual' - пробки "сейчас"
  • 'traffic#archive' - пробки "обычно"

parameters.state.trafficShown false

Тип: Boolean

Показаны ли данные по пробкам на карте.

Пример:

// Добавление на карту элемента управления пробками
// с включенными пробками "сейчас".
var trafficControl = new ymaps.control.TrafficControl({state: {trafficShown: true}});
map.controls.add(trafficControl, {top: 10, left: 10});

Поля

ИмяТипОписание
data data.Manager

Данные панели.

events IEventManager

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

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

options IOptionManager

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

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

state data.Manager

Состояние панели. Имена полей, доступных через метод data.Manager.get:

  • trafficShown - признак, показан ли на карте провайдер пробок;
  • providerKey - ключ провайдера, который показывает панель. Может принимать значения 'traffic#actual' или 'traffic#archive';
  • expanded - признак, развернута ли панель.

События

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

Панель пробок свернута. Экземпляр класса Event.

expand

Панель пробок развернута. Экземпляр класса Event.

hidetraffic

Пробки скрыты. Экземпляр класса Event.

optionschange

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

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

parentchange

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

Поля данных:

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

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

providerkeychange

Сменился ключ провайдера. Экземпляр класса Event. Имена полей, доступных через метод Event.get:

  • newProviderKey - новое значение ключа провайдера;
  • oldProviderKey – старое значение ключа.

showtraffic

Показаны пробки. Экземпляр класса Event.

Методы

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

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

expand()

Развернуть панель пробок.

getMap()

Map

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

getParent()

IControlParent|null

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

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

getProvider([key])

ITrafficProvider

Возвращает экземпляр провайдера пробок.

hideTraffic()

Скрыть провайдер пробок с карты.

isExpanded()

Boolean

Возвращает признак, развернута ли панель.

isTrafficShown()

Boolean

Возвращает признак, показан ли провайдер пробок на карте.

setParent(parent)

IChildOnMap

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

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

showTraffic()

Показать провайдер пробок на карте.

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

data

Данные панели.

state

{data.Manager} state

Состояние панели. Имена полей, доступных через метод data.Manager.get:

  • trafficShown - признак, показан ли на карте провайдер пробок;
  • providerKey - ключ провайдера, который показывает панель. Может принимать значения 'traffic#actual' или 'traffic#archive';
  • expanded - признак, развернута ли панель.

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

collapse

Панель пробок свернута. Экземпляр класса Event.

expand

Панель пробок развернута. Экземпляр класса Event.

hidetraffic

Пробки скрыты. Экземпляр класса Event.

providerkeychange

Сменился ключ провайдера. Экземпляр класса Event. Имена полей, доступных через метод Event.get:

  • newProviderKey - новое значение ключа провайдера;
  • oldProviderKey – старое значение ключа.

showtraffic

Показаны пробки. Экземпляр класса Event.

Описание методов

collapse

{} collapse()

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

expand

{} expand()

Развернуть панель пробок.

getMap

{Map} getMap()

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

getProvider

{ITrafficProvider} getProvider([key])

Возвращает экземпляр провайдера пробок.

Параметры:

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

Тип: String

Ключ провайдера информации о пробках. Список доступных ключей:

  • 'traffic#actual' - провайдер пробок "сейчас";
  • 'traffic#archive' — провайдер пробок "обычно".
Если параметр не передан, возвращается текущий провайдер.

Пример:

// Добавим на карту контрол пробок.
map.controls.add('trafficControl');
// Провайдер пробок "сейчас" при открытии будет показывать слой дорожных событий.
map.controls.get('trafficControl').getProvider('traffic#actual').state.set('infoLayerShown', true);

hideTraffic

{} hideTraffic()

Скрыть провайдер пробок с карты.

isExpanded

{Boolean} isExpanded()

Возвращает признак, развернута ли панель.

isTrafficShown

{Boolean} isTrafficShown()

Возвращает признак, показан ли провайдер пробок на карте.

showTraffic

{} showTraffic()

Показать провайдер пробок на карте.