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

Can a google map be removed from an element?

本文关键字:谷歌地图 删除 元素      更新时间:2023-09-26

我一直在使用jQuery-UI的小部件工厂来创建一个google地图小部件。

小部件工厂包括预构建的destroy功能,用于从元素中删除小部件。我很想知道是否有一种方法可以从Google Map 中分离原始元素,而无需从DOM中删除元素。

我所做的大部分搜索都是关于如何从谷歌地图中删除标记和其他层,而不是从DOM中删除地图。

我认为最简单的方法是在原始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

除了.remove(),您还可以在包含地图的div上使用jQuery函数.empty()。这个函数删除除div之外的所有内容。所以你不需要有一个外部和内部的div