Клуб API Карт

Как подружить ymaps.route c routingMode 'masstransit'?

krabmani9
12 февраля 2016, 10:47
ymaps.route([coords, result.geoObjects.get(0).geometry.getCoordinates()],{
  'routingMode': 'masstransit' // Все-равно остается в auto
}).then(function(route){
  // console.log '1', Math.round(route.getJamsTime() / 60);
  route.options.set('routingMode', 'masstransit'); // Все-равно остается в auto
  self.map.geoObjects.add(route);
});

Не устанавливаются параметры для ymaps.route. В документации описано и показано как сделать, но это не срабатывает (https://tech.yandex.ru/maps/doc/jsapi/2.1/ref/reference/route-docpage/#param-params и ниже примеры)
 

5 комментариев
Всеволод Шмыров
12 февраля 2016, 11:15
Добрый день.
Режим "masstransit" работает только с мультимашуртизацией
https://tech.yandex.ru/maps/doc/jsapi/2.1/ref/reference/route-docpage/#param-params.routingMode
Вам просто нужно добавить опцию multiRoute: true https://tech.yandex.ru/maps/doc/jsapi/2.1/ref/reference/route-docpage/#param-params.multiRoute
Всеволод Шмыров,
Возможно я что-то делаю не так, но у меня теперь вообще не отрабатывает:

ymaps.route([
coords,
res.geoObjects.get(0).geometry.getCoordinates()
], {
multiRoute: true,
routingMode: 'masstransit'
}).then(function(route){
console.log '0', Math.round(route.getJamsTime() / 60);
self.map.geoObjects.add(route);
});
Всеволод Шмыров,
Разобрался, нужно было then на done поменять.
Теперь разбираюсь, как получить время getJamsTime
Всеволод Шмыров,
Спасибо за помощь!
krabmani9,
 Подскажи, как сделал? меняю на done, второй пример https://tech.yandex.ru/maps/doc/jsapi/2.1/ref/reference/route-docpage/#param-params.routingMode
у меня не работает. пишет TypeError: route.getJamsTime is not a function