谷歌地图API V3 - 更改地图div

5
我想问一下,有没有人知道如何将地图从一个div移动到另一个div。为什么要这样做呢?假设我创建了一个复杂的地图,有许多工具,允许用户添加标记、线条、多边形、保存地图位置、添加信息窗口等等。我使用一个div来显示地图——所有对象都从数据库中下载并放置在地图上。然后当我点击“更改地图”按钮时,会弹出一个弹窗(是的,这就是我想要的,我不想要新窗口),里面是同样的地图,但带有让您编辑它的工具。问题是,我目前正在使用相同的div id,我担心会出现冲突,因为我的工具只能在刷新地图之前使用。我担心这是因为弹出窗口下方的地图仍然处于某种活动状态,并且我在弹出窗口地图中使用的这些功能也同时在下面的地图上使用,搞乱了事情。
或者有没有一种方法可以完全关闭地图,比如我有一个带有地图的div,点击按钮后,地图消失/关闭,我看到它所在的div?
我试着研究以下内容: "mapa = new google.maps.Map(document.getElementById("map_div"), mapOptions); 但我不知道该怎么做才能使旧的div消失/不活动/不使用。 只是更改div,使用同一行代码会在两个div中创建地图,并且所有功能都在第二个创建的地图上完成,这不是解决方案。

你能否为每个 div 生成一个随机的 ID,比如一种唯一的 ID 吗? - jjwdesign
嗯,我可以给每个div分配一个唯一的id,但是要在新的div中创建一个id为"map_div2"的地图,我需要使用同一行代码,并且使用同一个全局变量"mapa" - 这个变量也会在旧的div中使用。如果我使用其他变量,我就需要重新编写所有针对新地图变量的函数,这将是很多工作。 - Kedor
1个回答

5
将地图移动到另一个div很简单,只需要操作DOM树即可。参见此地图克隆问题的答案。

好的,看起来很简单也很棒。但是我明天再试试吧,现在已经太晚了(凌晨3:15)。非常感谢!希望它能正常工作。 - Kedor
这感觉像是一个变通方法,有没有官方的方式? - Gil Epshtain

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接