我一直在使用jQuery-UI's widget factory来创建google map小部件。
小部件工厂包含预先构建的destroy
功能,可以从元素中删除小部件。我很想知道是否有办法将原始元素从Google Map 中分离出来,而不用从DOM中删除元素。
我所做的大多数搜索都会导致如何从Google地图中删除标记和其他图层,而不是从DOM中删除地图。
答案 0 :(得分:6)
我认为最简单的方法是在原始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();
没有jquery:
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
答案 1 :(得分:2)
您还可以在包含地图的.remove()
上使用jQuery函数.empty()
,而不是div
。
此函数删除所有内容,但div
。因此,您不需要拥有外部和内部div
。