traffic.provider.Actual
Расширяет ITrafficProvider.
Провайдер актуальных пробок. Доступен в хранилище провайдеров под ключом 'traffic#actual'.
Конструктор
traffic.provider.Actual([options[, state]])
Создает провайдер актуальных пробок.
Параметры:
Параметр |
Значение по умолчанию |
Описание |
|
— |
Тип: Object Опции провайдера. Опции для слоев провайдера задаются через опции глобальной коллекции слоев Map.layers. • Опции для картиночного слоя Layer задаются с префиксом 'trafficImage'; • Опции для слоя хотспотов hotspot.Layer задаются с префиксом 'trafficJam'; • Опции для слоя инфоточек задаются с префиксом 'trafficInfo'. Слой инфоточек является экземпляром класса hotspot.Layer. |
|
true |
Тип: Boolean Флаг, включающий автоматическое обновление данных о пробках. Автоматическое обновление происходит только в том случае, если на карте каждые 4 минуты возникает событие mousemove. Если событие не возникает, пробки перестают обновляться до появления нового события. |
|
— |
Тип: Object Состояние провайдера. |
|
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);
Поля
Имя |
Тип |
Описание |
Менеджер событий. Унаследовано от IEventEmitter. |
||
Менеджер опций. Унаследовано от ICustomizable. |
||
Состояние провайдера. Имена полей, доступных через метод data.Manager.get: • infoLayerShown - признак, показан ли слой дорожных событий; • timestamp - текущее время во временной зоне UTC+0 в секундах; • localtime - локальное время, для которого сервер в текущий момент отдает данные, в формате 'ЧЧ:ММ'; • level - уровень загруженности дорог в баллах - от 0 до 10; • isotime - строка, содержащая текущую дату в формате "YYYY-MM-DDThh:mm:ss±hhmm". |
События
Имя |
Описание |
Изменение в опциях объекта. Унаследовано от ICustomizable. |
Методы
Имя |
Возвращает |
Описание |
getMap() |
Map|null |
Returns ссылку на карту. Унаследован от ITrafficProvider. |
Устанавливает карту. Унаследован от 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);