Клуб API Карт

Маршрут из панели маршрутов

ch2102
25 сентября 2017, 06:03

Я чесно искал и не нашёл решения, возможно его нет, или я пропустил банально какую-то срочку в документации. Можно ли как-то получить мультимаршрут и желательно эвент о его построении если использовалась стандартная панели маршрутизации? Спасибо.

8 комментариев
Получить маршрут можно методом getRoute у routePanel
Обновлено 25 сентября 2017, 16:36
dimik,
Трижды смотрел на эту страницу и каждый раз не замечал, надо больше спать, благодарю за помощь
dimik,
Я не знаю насколько это корректное решение, не настолько близок с js, но работает.

myMap.controls.get('routeButtonControl').routePanel.getRoute().events.add("activeroutechange", function () {
console.log('activeroutechange');
});
myMap.controls.get('routeButtonControl').routePanel.getRoute().events.add("update", function () {
console.log('update');
});
ch2102,
Коррекное.
Хинт: менеджер событий поддерживает chaining
myMap.controls.get('routeButtonControl').routePanel.getRoute().events
  .add("activeroutechange", function () {
    console.log('activeroutechange');
  })
  .add("update", function () {
    console.log('update');
  });
dimik,
К сожалению данное решение перестало работать. Функция getRoute() возвращает null. У меня даже идей нету в чём возникла проблема. Просто спустя месяц запустил заново код без  изименений
ch2102,
Да, к сожалению этот функционал пришлось оптимизировать и обратная совместимость сломалась


https://yandex.ru/blog/mapsapi/pereklyuchenie-ssylki-2-1-2156


myMap.controls.get('routeButtonControl').routePanel.getRouteAsync()
.then(function(multiRoute) {
multiRoute.events
.add("activeroutechange", function () {
console.log('activeroutechange');
})
.add("update", function () {
console.log('update');
});
});
Обновлено 27 октября 2017, 11:21
У меня снова вопрос по стандартной панели маршрутизации, возможно ли управлять типами маршрутов которые будут строится, например оставить только автомобильные или только пешеходные?
ch2102,
конечно, вот пример