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