Клуб API Карт

Промежуточные точки в маршруте API 2.0

m588488
12 ноября 2012, 10:29

Здравствуйте уважаемы гуру.

Подскажите пожалуйста, как в коде(приведен ниже) назначить конкретным точкам маршрута тип viaPoint?

  

 

var data = [
{ "name": "Маршрут 1", "wayPoints": [
"Россия, Ярослаская область, Ярославль, Ленина 1",
"Россия, Ярослаская область, Ярославль, Ленина 2",
"Россия, Ярослаская область, Ярославль, Ленина 3",
"Россия, Ярослаская область, Ярославль, Ленина 4"
]},
...
};
// Контейнер для меню маршрутов
var menu = $('

      ');

 

      for(var i = 0, len = data.length; i < len; i++) {

 

      (function (data) {

 

    var item = $('
  • '),
    route;
    // Создаем DOM-элемент меню для каждого маршрута
    $('' + data.name + '').toggle(function () {
    if(route) {
    myMap.geoObjects.add(route);
    }
    else {
    ymaps.route(data.wayPoints, {
    avoidTrafficJams: true,
    mapStateAutoApply: true
    }).then(function (result) {
    myMap.geoObjects.add(route = result);
    });
    }
    }, function () {
    route && myMap.geoObjects.remove(route);
    }).appendTo(item);
    item.appendTo(menu);
    }(data[i]));
    }
    menu.appendTo('body');

 

 

 

           

 

 в api 1.1 просто указываешь номер в скобках, а как в 2.0 это сделать не разобрался.

var router2 = new YMaps.Router([

           'Россия, Ярославская область, Ярославль, Ленина, 4',

           'Россия, Ярославская область, Ярославль, Ленина, 14',

           'Россия, Ярославская область, Ярославль, Ленина, 18',

           'Россия, Ярославская область, Ярославль, Ленина, 49'

           ],

            [1,2,3]

 

3 комментария
Подписаться на комментарии к посту

да, спасибо, видел.

в итоге исправил код на:

"39.83858517611056,57.664631768362476","{type: 'viaPoint', point:[39.797496823623405,57.6821828951333]}","39.801052,57.685165"

 

но все равно не строится маршрут

спасибо, разобрался.

вот так сработало:

[39.83858517611056,57.664631768362476],{ type: 'viaPoint', point: [39.797496823623405,57.6821828951333] },[39.801052,57.685165]