我有一个谷歌地图和
如果完成了特殊的用户交互,我正在使用一个 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);
另一种方法:而不是添加/删除控件添加一次控件并切换
display
的 controlDiv
.
关于javascript - 谷歌地图,从控件数组中删除控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19958073/