可以从元素中删除谷歌地图吗?

时间:2011-12-01 18:35:43

标签: javascript jquery jquery-ui google-maps jquery-ui-widget

我一直在使用jQuery-UI's widget factory来创建google map小部件。

小部件工厂包含预先构建的destroy功能,可以从元素中删除小部件。我很想知道是否有办法将原始元素从Google Map 中分离出来,而不用从DOM中删除元素。

我所做的大多数搜索都会导致如何从Google地图中删除标记和其他图层,而不是从DOM中删除地图。

2 个答案:

答案 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