gpt4 book ai didi

javascript - 加载谷歌地图控件元素时的回调

转载 作者:数据小太阳 更新时间:2023-10-29 04:20:29 27 4
gpt4 key购买 nike

我发现其他堆栈溢出问题表明使用“空闲”事件是在谷歌地图完全加载时触发回调的方式。但就我而言,我想运行一些代码以将一些文本注入(inject) map UI 中的元素,但我发现在创建这些元素之前会触发“idle”。

明确地说,我将初始化函数附加到窗口的加载方法:

google.maps.event.addDomListener(window, 'load', initialize);

在初始化中,我创建了一些 UI 元素并将它们附加到 map 上:

function initialize() {
map = new google.maps.Map(document.getElementById("map-div"), mapOptions);
...
// set up the controls div
var controlsDiv = document.createElement('div');
controlsDiv.id="cd";
controlSetup(controlsDiv);
map.controls[google.maps.ControlPosition.RIGHT_TOP].push(controlsDiv);
}

好的,但是我想做的是在一切就绪后运行一个函数。就我而言,我将向控件 div 中插入更多文本,因此我需要将它们放在那里。

我试过将其作为初始化方法的最后一行:

google.maps.events.addListenerOnce(map,'idle',emitText);

但是,emitText 有一行尝试获取 ElementById("cd")( map 上的 controlsDiv),但我知道它是空的,因为 emitText 在 controlsDiv 实际完成加载之前已经触发。

那么,问题是如何检测 map 的完全加载,包括任何 UI div。我的测试表明,“空闲”事件在加载 UI 元素并在 DOM 中访问之前触发。提前致谢!

最佳答案

只需访问 controlsDiv 而不是 getElementById("cd"),div 是否已经添加到文档中并不重要。

关于javascript - 加载谷歌地图控件元素时的回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32017509/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com