Можно ли удалить карту Google из элемента? - PullRequest
4 голосов
/ 01 декабря 2011

Я возился с фабрикой виджетов jQuery-UI , чтобы создать виджет google map .

Фабрика виджетов включает в себявстроенные destroy возможности по удалению виджета из элемента.Мне интересно узнать, есть ли способ отсоединить исходный элемент от карты Google без удаления элемента из DOM.

Большую часть поиска я выполнилприводит к тому, как удалять маркеры и другие слои с карты Google, а не удалять карту из DOM.

Ответы [ 2 ]

6 голосов
/ 01 декабря 2011

Мне кажется, самый простой способ - создать внутренний div внутри исходного div и инициализировать карту для внутреннего div. При уничтожении карты просто удалите внутренний div и все.

var $inner = $('<div style="width: 100%; height: 100%"></div>').appendTo('#map_div');
// creation:
var map = new google.maps.Map($inner[0], { ... });
// removal:
$inner.remove();

без запроса:

document.getElementById('map_div').innerHTML = '<div id="inner_map_div" style="width: 100%; height: 100%"></div>';

// creation:
var map = new google.maps.Map(document.getElementById('inner_map_div'), { ... });

document.getElementById('map_div').innerHTML = ''; // removal
2 голосов
/ 31 мая 2014

Вместо .remove() вы также можете использовать функцию jQuery .empty() на div, которая содержит карту.Эта функция удаляет все, кроме div.Так что вам не нужно иметь внешнее и внутреннее div.

...