Клуб API Карт

Расчет времени пути с учетом пробок

Пост в архиве.

Здравствуйте, прочитал документацию

http://api.yandex.ru/maps/jsapi/doc/mod/concepts/traffic.xml

http://api.yandex.ru/maps/jsapi/doc/ref/reference/router.xml

 

Как получить время пути с учетом пробок?

getDuration() возвращает мне время без учета

 

За ранее, спасибо

4 комментария
Sergey Konstantinov
28 января 2016, 06:52
Наличие/отсутствие на карте слоя пробок, показанных через Traffic.Control никак не влияет на работу маршрутизатора. Для того, чтобы маршрутизатор учитывал пробки необходимо явно указать ему опцию avoidTrafficJams: true

Т.е. если Вы хотите, чтобы при включенных пробках маршрут строился с их учетом, необходимо написать примерно так:

var traffic = new YMaps.Traffic.Control();

....

// Построение маршрута
var router = new YMaps.Route([ /* точки маршрута */ ], {
  avoidTrafficJams: traffic.isShown()
});
Sergey Konstantinov
28 января 2016, 06:52
new YMaps.Router, опечатка
YMaps.jQuery(function () {
var traffic = new YMaps.Traffic.Control({ showInfoSwitcher: true }, { infoLayerShown: true });
var map = new YMaps.Map(YMaps.jQuery("#YMapsID")[0]);

traffic.show();
map.setCenter(new YMaps.GeoPoint(37.61, 55.74), 13);
var router = new YMaps.Router(['крылатское', 'Чулково'],[],{ viewAutoApply: true, avoidTrafficJams: traffic.isShown() });
map.addOverlay(router);

map.addControl(traffic);
YMaps.Events.observe(router, router.Events.Success, function () {
alert('Дистанция: '
+ router.getDistance()
+ ' Время в пути: '
+ parse_duration(router.getDuration())
);
});
});

результат примерно: 1час 8 минут
а если смотреть через http://maps.yandex.ru/, покажет  1 ч. 41 мин. через пробки и  1 ч. 37 мин. в объезд..

 

http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">http://www.w3.org/1999/xhtml">    Маршрут от дома до работы                   
Делаю примерно так! Но время с учетом пробок и без учета пробок почти одинаковое.