Имеется список маршрутов с меню.
1. Как сделать так, чтобы отображался только выбранный маршрут?
2. Как по-умолчанию отобразить первый в списке маршрут?
var myMap,
mapData = [];
// Дождёмся загрузки API и готовности DOM.
ymaps.ready(init);
mapData = [
{
name: 'Из Калуги',
path: [[36.237041,54.533832],[36.430997,54.996898]]
},
{
name: 'Из Москвы',
path: [[37.617761,55.755773],[36.430997,54.996898]]
}
]
function init () {
myMap = new ymaps.Map('YaMaps_path', {
center:[36.430997,54.996898], // Малоярославец
zoom:8,
behaviors: ['default', 'scrollZoom']
});
var menu = $('<ul class="ul_li"/>');
for(var i = 0, len = mapData.length; i < len; i++) {
(function (mapData) {
var menuItem = $('<li><a href="#' + mapData.name + '" class="dashed_link"><span>' + mapData.name + '</span></a></li>'),
route;
// Создаем DOM-элемент меню для каждого маршрута
menuItem.appendTo(menu).find('a').bind('click', function () {
var link = $(this).parent();
if (link.hasClass("active")) {
route && myMap.geoObjects.remove(route);
} else {
if(route) {
myMap.geoObjects.add(route);
} else {
ymaps.route(mapData.path, {
mapStateAutoApply: true
}).then(function (result) {
myMap.geoObjects.add(route = result);
});
}
}
link.addClass("active").s
return false;
})
}(mapData[i]));
}
menu.appendTo('.path_nav');
}
По клику на ссылке отображается соответствующий ей маршрут. По клику на следующий, предыдущий не пропадает, а следующий просто добавляется на карту наряду с предыдущим. Пробовал разные варианты, но то ли не в ту сторону копаю, то ли хз. То же касается и отображения первого в списке маршрута после загрузки карты. Тупик какой то.