我想我的口活地震混搭在Google地图何时加载?
http://www.oe-files.de/gmaps/eqmashup.html
谷歌地图API第3版。目前我正努力寻找地图和特别是自定义控件呈现的正确时刻,所以我可以加载第一个数据馈送。自定义控件需要显示,因为代表多个提要中的一个的提要被突出显示。
我已阅读关于google.maps.event.addListenerOnce和事件“空闲”和“tilesLoaded”,但这些似乎都不起作用。
混搭,只要我来了,可以在这里找到:
http://www.oe-files.de/gmaps/eqmashup-ng.html
点击进一个选择器(右下)将装载的饲料,一旦页面加载。但我似乎无法找到正确的时刻加载页面后调用“switchFeed”。
大量的其他东西仍然缺失,但目前这是最大的问题。任何帮助表示赞赏。
更新:
目前,该序列应该初始化地图并加载第一个数据:
google.maps.event.addDomListener(window, 'load', initMashup);
google.maps.event.addListenerOnce(map, 'tilesLoaded', function() {
switchFeed('usgs25');
});
这不起作用,因为“地图”未初始化当addListerOnce被执行时。我曾尝试另一种方式是(或多或少)
google.maps.event.addDomListener(window, 'load', initMashup);
switchFeed('usgs25');
这也不管用,因为switchFeed切换被添加自定义控制(通过map.controls)按钮的样式,该按钮尚未呈现。
所以我的问题是:什么时候地图完全加载,以及如何将动作附加到这个事件?
异步性是*问题。就我所见,map.controls []。push在控件实际绘制之前返回。这样,即使我使用google.maps.addListenerOnce等待调用loadInitialFeed,对switchFeed的调用也会生成一个错误,因为document.getElementById(currentfeed).setAttribute会尝试更改当前不可用的元素样式。我已经转移了一系列的行动,现在已经找到了一个有效的方法。这远不是很好,但整个代码从来没有打算赢得选美比赛...... – user2449450