Клуб API Карт

Функции удаления/добавления маршрута на карту

Пост в архиве.
wir2al
7 июля 2012, 01:30

Необходимо прокладывать маршрут снова и снова на одной и той же карте. Т.е. есть инпуты с адресами, если адрес поменялся, то маршрут необходимо перестроить. Но как это сделать, не удаляя карту и создавая её заново? Хотел вынести создание/удаление маршрута в отдельные функции addrote() и removeroute(), но они конечно же не работают, т.к. не видят, с какой картой взаимодействовать.

В общем, помогите пожалуйста исправить код:

 

 

ymaps.ready(addmap);
function addmap() {
    // Создание карты
    var myMap = new ymaps.Map("map", {center: [55.754178, 37.624678], zoom: 12}, {});
}

function addroute() {
    var mainRouter = ymaps.route([[55.755786, 37.117633], [55.155786, 37.617633]], {});
    mainRouter.then(function(mainroute) {
            myMap.geoObjects.add(mainroute);
        },
        function (error) {
            if(error.message == "can't construct a route") {
                alert("При построении маршрута возникла ошибка.\r\nПопробуйте изменить адреса или перезагрузить страницу.");
            } else {
                alert("Возникла ошибка: " + error.message);
            }
        }
    )
}

function removeroute() {
    map.geoObjects.remove(mainRouter);
}