Ну вот такой замечательный программист писал. Но, насколько я понимаю, тут init функция определяется, что значит она не получает того, что ожидает? Передается туда значение с адресом, нет?
$("#rout_map").click(function(e) { ll = 0; $("#map").html(""); var val = $("#search_map").val(); init(val) })
Значит она вызывается 2 раза, что еще хуже. Обработчик загрузки АПИ не нужно вызывать нигде кроме ymaps.ready Кроме того, таким образом очищать карту некорректно, это "срывает голову" АПИ, и страница течет по памяти. $("#map").html("");
Нужно сначала вызывать myMap.destroy()
Но в общем, если надо где-то вызвать построение маршрута, не нужно пересоздавать карту. Достаточно скрывать/отображать ее контейнер и удалять старый маршрут, перед добавлением нового