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

traffic.provider.Actual

Расширяет ITrafficProvider.

Провайдер актуальных пробок. Доступен в хранилище провайдеров под ключом 'traffic#actual'.

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

Конструктор

traffic.provider.Actual([options[, state]])

Создает провайдер актуальных пробок.

Параметры:

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

Тип: Object

Опции провайдера. Опции для слоев провайдера задаются через опции глобальной коллекции слоев Map.layers.

  • Опции для картиночного слоя Layer задаются с префиксом 'trafficImage';
  • Опции для картиночного слоя hotspot.Layer задаются с префиксом 'trafficJam';
  • Опции для слоя инфоточек задаются с префиксом 'trafficInfo'. Слой инфоточек является экземпляром класса hotspot.Layer.

options.autoUpdate true

Тип: Boolean

Флаг, включающий автоматическое обновление данных о пробках. Автоматическое обновление происходит только в том случае, если на карте каждые 4 минуты возникает событие mousemove. Если событие не возникает, пробки перестают обновляться до появления нового события.

state

Тип: Object

Состояние провайдера.

state.infoLayerShown false

Тип: Boolean

Флаг, включающий отображение слоя дорожных событий.

Пример:

// Создадим провайдер пробок "сейчас" с включенным слоем дорожных событий
// и разместим его на карте.
var actualProvider = new ymaps.traffic.provider.Actual({}, {infoLayerShown: true});
actualProvider.setMap(myMap);

// Запретим показ балунов по клику для слоя инфоточек.
myMap.layers.options.set({
    // Название опции сформировано из опции хотспотного слоя
    // 'openBalloonOnClick' путем добавления префикса 'trafficInfo'.
    trafficInfoOpenBalloonOnClick: false
});

// ...
// Удаление провайдера с карты.
actualProvider.setMap(null);

Поля

ИмяТипОписание
events IEventManager

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

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

options IOptionManager

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

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

state data.Manager

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

  • isInited - признак, готов ли провайдер предоставлять данные;
  • infoLayerShown - признак, показан ли слой дорожных событий;
  • timestamp - текущее время во временной зоне UTC+0 в секундах;
  • localtime - локальное время, для которого сервер в текущий момент отдает данные, в формате 'ЧЧ:ММ';
  • level - уровень загруженности дорог в баллах - от 0 до 10.
  • isotime - строка, содержащая текущую дату в формате "YYYY-MM-DDThh:mm:ss±hhmm".

События

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

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

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

Методы

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

Map|null

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

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

setMap(Reference)
update()

Шлёт запрос на обновление пробок.

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

state

{data.Manager} state

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

  • isInited - признак, готов ли провайдер предоставлять данные;
  • infoLayerShown - признак, показан ли слой дорожных событий;
  • timestamp - текущее время во временной зоне UTC+0 в секундах;
  • localtime - локальное время, для которого сервер в текущий момент отдает данные, в формате 'ЧЧ:ММ';
  • level - уровень загруженности дорог в баллах - от 0 до 10.
  • isotime - строка, содержащая текущую дату в формате "YYYY-MM-DDThh:mm:ss±hhmm".

Пример:

var actualProvider = new ymaps.traffic.provider.Actual();
actualProvider.setMap(myMap);
actualProvider.state.events.add('change', function () {
    if (actualProvider.state.get('isInited')) {
        alert('Провайдер готов предоставлять данные.');
    }
});

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

update

{} update()

Шлёт запрос на обновление пробок.

Пример:

var trafficControl = new ymaps.control.TrafficControl({shown: true});
map.controls.add(trafficControl);
function updateProvider () {
     trafficControl.getProvider('traffic#actual').update();
}
// Будем слать запрос на обновление данных каждые 4 минуты.
window.setInterval(updateProvider, 4 * 60 * 1000);