我知道这个问题很古老,但我似乎无法找到明确的指示。
问题的关键是Google地图在加载到隐藏(显示:无)div上时不会完全加载(部分显示),例如jQuery标签等
API V3不再接受checkResize(),'left:-1000px'不是一个优雅的解决方案。
我听说延迟构建地图,并在点击标签时重新加载地图,但请帮我确切的代码。
答案 0 :(得分:5)
为什么你说“left:-1000px'不是一个优雅的解决方案”?它在API v2中对我很有用,也应该适用于API v3(未经过测试,如果它不起作用,请告诉我)。
重绘,即API v2 checkResize()
在API v3中以这种方式完成:
google.maps.event.trigger(map, 'resize');
这是我的jquery-ui标签的CSS示例(灵感来自于 http://jqueryui.com/demos/tabs/):
.ui-tabs .ui-tabs-hide#my_tabs-1 { /* my_tabs-1 contains google map */
display: block !important;
position: absolute !important;
left: -10000px !important;
top: -10000px !important;
}
答案 1 :(得分:1)
如果您不能依赖Tab Tab事件,可以在Tab Link点击事件上添加事件,而不是在页面就绪时调用initialize()
。
$('#TabLink').click(function() {
initialize();
});