Показать, удалить карту при нажатии на кнопку
Показать карту
Чтобы создать карту, например, при нажатии на кнопку, надо просто вызвать стандартный код для вывода карты:
// Выполнять код при нажатии на объект #show-map document.getElementById("show-map").onclick = function() { var map = new ymaps.Map("YMapsID", { center: [55.76, 37.64], zoom: 11, }); }
Не рекомендуется выводить карту Яндекса, если по дизайну она изначально скрыта (например открывать во вкадке «Показать на карте»), т.к. в этом случае будут идти лишние запросы на сервер, увеличивая время загрузки страницы.
Скрыть / удалить карту
Скрыть или удалить карту можно через метод destroy()
.
map.destroy(); map = null;
Полный код
Пример с полным кодом:
var button = document.getElementById("show-map"); ymaps.ready(init); function init () { var map; button.onclick = function() { // Показать карту if (!map) { map = new ymaps.Map("YMapsID", { center: [55.76, 37.64], zoom: 11, }); this.innerText = "Скрыть карту"; } // Скрыть карту else { map.destroy(); map = null; this.innerText = "Показать карту"; } } }