Клуб API Карт

Обновление карты

nazarovindahouse
18 июня 2012, 23:22

Как сделать так, чтобы при вызове конструктора карты не создавалась новая, а происходила привязка по имени к уже существующей на странице карте, как это было удобно делать в старой версии? 

Заранее спасибо! 

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

Поясните пожалуйста что вы имели в виду. Можно примером из первой версии.

nazarovindahouse
19 июня 2012, 18:06

У меня энное количество раз происходит выхов функции, где я беру карту, очищаю её, и рисую маршрут.

В старом API: var map = new YMaps.Map(YMaps.jQuery("#YMap")[0]);
В новом:  window.map = new ymaps.Map("YMap", { center: [0,0], zoom: 13 }); 
Так вот при использовании новой версии при каждом вызове конструктора под существующей появляется ещё одна карта, где маршрут и рисуется, хотя пр ииспользовании старой версии все рисовалось в одной карте

 

раньше карта тоже оставалась, только вы ее не очень акуратно убивали.

Если хотели чтобы было "как раньше" - перед созданием карты вызовите document.getElementById("YMap").innerHTML=''; - убьем карту не акуратно.

Но лучше убивайте ее акуратно - if(window.map)map.destroy();

Или не создавайте карту каждый раз - создали один и успокойтесь, удаляйте только старый маршрут.

nazarovindahouse
20 июня 2012, 01:08

вы правы, прощу прощения, сам только подумал что последний подход вполне подойдет, не знаю почему раньше не вспомнил об этом, надо больше спать наверное :-(