javascript - 谷歌地图,从控件数组中删除控件

标签 javascript arrays google-maps google-maps-api-3 push

我有一个谷歌地图和
如果完成了特殊的用户交互,我正在使用一个 hacky 的 infowindows 解决方案,它不会显示在覆盖谷歌地图的 div 下。

我在用户交互后执行此代码:

var controlDiv = document.createElement('div');
controlDiv.style.width = '220px';
controlDiv.style.height = '500px';
map.controls[google.maps.ControlPosition.RIGHT_TOP].push(controlDiv);

效果很好,但是如果用户关闭覆盖,我想删除我插入数组的元素。

我试图把它拼接出来,但我不知道如何选择它,或者它的索引是什么。
map.controls[google.maps.ControlPosition.RIGHT_TOP].splice("?", 1);

其他可能性可能是
delete map.controls[google.maps.ControlPosition.RIGHT_TOP]

但我只是没有删除元素
请帮助
提前致谢

最佳答案

map.controls[google.maps.ControlPosition.RIGHT_TOP] 不是原生数组,它是 google.maps.MVCArray

当您仅将这个单个自定义控件添加到数组时,您可以简单地调用:

map.controls[google.maps.ControlPosition.RIGHT_TOP].clear();

当有更多自定义控件时,遍历控件以找到 controlDiv 的索引并打电话
map.controls[google.maps.ControlPosition.RIGHT_TOP].removeAt(index);

另一种方法:而不是添加/删除控件添加一次控件并切换displaycontrolDiv .

关于javascript - 谷歌地图,从控件数组中删除控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19958073/

相关文章:

javascript - Canvas 确定平移边界,独立于屏幕分辨率和 Canvas 调整大小

javascript - javascript添加和删除列表、输入框、选项选择等新元素的方法

javascript - Ember 数据 : Prevent encodeURIComponent on Query Params

arrays - 从数组中合并 Excel 中的单元格

c - C语言中struct中字符串的使用

c# - Xamarin 谷歌地图空白

javascript - Angular - Google 未定义?

android - 一种从 Android 应用程序追踪街道的方法?

javascript - 在 Protractor 中从命令行传递基本 url

javascript - 打印出现N次的第一个元素的值