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

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

Параметр Значение по умолчанию Описание
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' путем добавления префикса 'trafficJam'.
    trafficJamOpenBalloonOnClick: false,
    // Аналогично формируется название опции для слоя инфоточек.
    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".
Имя Тип Описание
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.

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

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

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

Методы

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

Map|null

Returns ссылку на карту.

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

setMap(map)

Устанавливает карту.

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

update()

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

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

Map|null

Returns ссылку на карту.

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

setMap(map)

Устанавливает карту.

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

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