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);