Javascript 谷歌地图无法渲染
注意:我认为最好在这方面提出一个新问题 所以我最近问了一个关于。现在答案看起来简单明了,接受我的代码如下:Javascript 谷歌地图无法渲染,javascript,google-maps-api-3,Javascript,Google Maps Api 3,注意:我认为最好在这方面提出一个新问题 所以我最近问了一个关于。现在答案看起来简单明了,接受我的代码如下: var map; function initialize() { var mapOptions = { zoom: 8, center: new google.maps.LatLng(-34.397, 150.644), mapTypeId: google.maps.MapTypeId.ROADMAP };
var map;
function initialize() {
var mapOptions = {
zoom: 8,
center: new google.maps.LatLng(-34.397, 150.644),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
google.maps.event.trigger(map, "resize");
}
google.maps.event.addDomListener(window, 'load', initialize);
问题是,地图仍然被破坏:
此地图存储在高度为350的
中。这个保存地图的Div是jqueryui选项卡的一部分,因此它还附加了Jquery蒙皮,这可能会影响大小等
有了这些,地图就可以工作了
如果我打开控制台并输入:google.maps.event.trigger(map,“resize”)代码>然后这些地图会按预期工作。我还将一个Google地图(v3)嵌入到jQuery UI选项卡中,并且必须使用此修复程序解决此问题:
var initialized = false;
$('.tabs').find('.ui-tabs-nav li').each(function() {
if($(this).find('a').text() === 'Location') {
if($(this).hasClass('ui-state-active')) {
initialize();
initialized = true;
} else {
$(this).click(function() {
if(!initialized) {
initialize();
initialized = true;
}
});
}
}
});
请注意,initialize()
应该运行起始映射代码。有很多方法可以对初始化进行切片和切分,但关键是我们在寻找标签之前不会这样做(在本例中为“位置”)是活动的。我很抱歉,我不确定这将走向何方,也不确定如何使用我的google maps stuff>实现它。我看到的基本原理只是不知道如何实现它。与其每次选项卡处于活动状态时初始化整个地图,不如在页面加载时初始化地图,然后触发调整大小(google.maps.event.trigger(映射,“调整大小”);
)当map选项卡处于活动状态时?@SuviVignarajah你有例子吗?当然-如果你能快速了解一下你所拥有的,我可以为你提供我建议的解决方案。谢谢@SuviVignarajah-只要你保持initialized
变量,它只会初始化一次-如果选项卡从未激活,那么就不会再初始化预计起飞时间。