Javascript 是否存在加载google maps控件的事件?

Javascript 是否存在加载google maps控件的事件?,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我知道有tilesload,但控件似乎是在该事件之后加载的 我基本上希望能够通过jQuery抓取控件,但甚至找不到正确的控件来监听。您可以通过在Chrome中点击F12并单击时间线选项卡来查看正在触发的事件。我也处理了它。没有类似的事件(在控件可见之前,idle和tilesloaded触发器) 所以,基本上,我会在控件中添加“特殊控件”类,然后检查它们是否已加载。。。当jquery返回正长度时,控件将被完全加载 function GetTestControl() { var contro

我知道有
tilesload
,但控件似乎是在该事件之后加载的


我基本上希望能够通过jQuery抓取控件,但甚至找不到正确的控件来监听。

您可以通过在Chrome中点击F12并单击时间线选项卡来查看正在触发的事件。

我也处理了它。没有类似的事件(在控件可见之前,idle和tilesloaded触发器)

所以,基本上,我会在控件中添加“特殊控件”类,然后检查它们是否已加载。。。当jquery返回正长度时,控件将被完全加载

function GetTestControl()
{
    var control = document.createElement('div');
    control.className = 'special-control'; // THERE IS THE SPECIAL CLASS
    control.style.margin = '0 0 10px 10px';

    var btn = document.createElement('div');
    btn.innerHTML = '<i  class="fa fa-globe"></i>';
    control.appendChild(btn);

    btn.addEventListener('click', function()
    {
        alert("test");
    });

    return control;
}

google.maps.event.addListener(map, 'tilesloaded', function()
{
    var sinterval = setInterval(function()
    {
        if($('.special-control').length > 0)
        {
            // controls loaded, do whatever you want
            // + stop interval so it doesn't ruin your memory
            clearInterval(sinterval);
        }
    }, 500); // should work perfectly, but you can decrease
});

map.controls[google.maps.ControlPosition.LEFT_BOTTOM].push(GetTestControl());
函数GetTestControl() { var control=document.createElement('div'); control.className='special control';//有一个特殊的类 control.style.margin='0 0 10px 10px'; var btn=document.createElement('div'); btn.innerHTML=''; 对照组。追加子项(btn); btn.addEventListener('click',function() { 警报(“测试”); }); 返回控制; } google.maps.event.addListener(映射'tilesloaded',函数() { var sinterval=setInterval(函数() { 如果($('.special control')。长度>0) { //控件加载后,可以执行任何操作 //+停止间隔,以免破坏您的记忆 clearInterval(sinterval); } },500);//应该可以很好地工作,但您可以减少 }); 控件[google.maps.ControlPosition.LEFT_BOTTOM].push(GetTestControl());
就这样。

我也面临同样的挑战。布赖恩的回答对我根本不起作用。4年后,我仍然在寻找答案。你找到了吗?@html\u程序员10年后,也许你还在搜索:D我刚刚发布了你可能喜欢的答案:D