traffic.provider.Actual
Расширяет ITrafficProvider.
Провайдер актуальных пробок. Доступен в хранилище провайдеров под ключом 'traffic#actual'.
Конструктор | Поля | События | Методы
Конструктор
traffic.provider.Actual([options[, state]])
Создает провайдер актуальных пробок.
Параметры:
Параметр |
Значение по умолчанию |
Описание |
— |
Тип: Object Опции провайдера. Опции для слоев провайдера задаются через опции глобальной коллекции слоев Map.layers.
|
|
true |
Тип: Boolean Флаг, включающий автоматическое обновление данных о пробках. Автоматическое обновление происходит только в том случае, если на карте каждые 4 минуты возникает событие mousemove. Если событие не возникает, пробки перестают обновляться до появления нового события. |
|
— |
Тип: Object Состояние провайдера. |
|
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);
Поля
Имя |
Тип |
Описание |
Менеджер событий. Унаследовано от IEventEmitter. |
||
Менеджер опций. Унаследовано от ICustomizable. |
||
Состояние провайдера. Имена полей, доступных через метод data.Manager.get:
|
События
Имя |
Описание |
Изменение в опциях объекта. Унаследовано от ICustomizable. |
Методы
Имя |
Возвращает |
Описание |
getMap() |
Map|null |
Возвращает ссылку на карту. Унаследован от 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);