Клуб API Карт

Проверить условие, если есть добавить транзитную точку.

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

Добрый день у меня есть роут(прокладывает маршрут от точки которую указал пользователь до 2 точки которую он указывает). И мне надо проверить если маршрут проходит через центр Москвы, добавить транзитную точку, если нет оставить как есть. Вопрос, в том как добавить её в роут...

ymaps.route([start,trans, finish])
                        .then(

                            function (router) {

Здесь я могу проверить, проходит или нет... И присвоить значение trans - но, как потом передать этот транс для перестройки маршрута...

4 комментария
Добрый день. Маршрут можно только перестроить полностью, заново вызвав ymaps.route().
У мультимаршрута можно поменять опорные точки с помощью метода setReferencePoints модели. (https://tech.yandex.ru/maps/doc/jsapi/2.1/ref/reference/multiRouter.MultiRouteModel-docpage/#setReferencePoints)


Пример для обоих вариантов: https://jsfiddle.net/upxx38dc/ Учтите, что в них делается по два запроса к маршрутизатору.
lobazenkoff.maxim
8 июня 2017, 15:05
Андрей,
Спасибо, получилось. Использовал 1 метод. 1 вопрос, а возвращать и повторно вызывать, таким образом можно и геокодер и т.д.?
lobazenkoff.maxim,
да, вы можете делать запросы к маршрутизатору и геокодеру сколько угодно раз и использовать в запросе любые данные, в том числе, полученные из предыдущих ответов. Ограничивается только суммарное суточное число запросов.
Андрей,
Спасибо большое, только начал изучать карты)