Показать, удалить карту при нажатии на кнопку

Показать карту

Чтобы создать карту, например, при нажатии на кнопку, надо просто вызвать стандартный код для вывода карты:

// Выполнять код при нажатии на объект #show-map
document.getElementById("show-map").onclick = function() {
    var map = new ymaps.Map("YMapsID", {
        center: [55.76, 37.64],
        zoom: 11,
    });
}

Пример на Codepen

Не рекомендуется выводить карту Яндекса, если по дизайну она изначально скрыта (например открывать во вкадке «Показать на карте»), т.к. в этом случае будут идти лишние запросы на сервер, увеличивая время загрузки страницы.

Скрыть / удалить карту

Скрыть или удалить карту можно через метод destroy().

map.destroy();
map = null;

Пример на Codepen

Полный код

Пример с полным кодом:

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 = "Показать карту";
    }
  }
}