Клуб API Карт

Как в мультимаршрут добавить промежуточные точки

smart282
24 декабря 2015, 11:40

Как при создании мультимаршрута, используя multiRouter.MultiRoute, добавить не только конечные точки (wayPoints), но и промежуточные путевые точки (viaPoints)?

В простом маршруте это легко:

 врезка

var wayPoints_output = [...... здесь массив точек.........]
ymaps.route(
    [56.859611,35.911896], [56.332112,36.728007],
        {
            point: ([wayPoints_output]),
            type: 'viaPoint'
        }
);

 

А вот как это сделать в мультимаршруте, если он строится примерно так:

 

var output_arr2 = [..... массив точек ......]
var multiRoute = new ymaps.multiRouter.MultiRoute({
referencePoints: output_arr2
}, {
       editorMidPointsType: "via",
       editorDrawOver: false
});

 Нашел интерфейс IMultiRouteReferencePoint, который вроде бы как по описанию https://tech.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IMultiRouteReferencePoint-docpage/ подходит, но как его можно применить к мультимаршруту?

5 комментариев

Нужно указывать индексы промежуточных точек

https://tech.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IMultiRouteParams-docpage/#viaIndexes

dimik,
И что эти индексы значат, чтото я ничего не понял
Rudnizki,
Это индексы виа-точек в массиве referencePoints
Указал viaIndexes и эта точка вообще исчезла, как быть непойму


var multiRoute = new ymaps.multiRouter.MultiRoute({
referencePoints: referencePoints,
params: {
routingMode: 'pedestrian',
viaIndexes: [1]
}
Rudnizki,
Виа точкой не может быть первая и последняя точки в referencePoints, и количество referencePoints должно быть больше 2х
https://tech.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IMultiRouteReferencePoint-docpage/