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
变量,它只会初始化一次-如果选项卡从未激活,那么就不会再初始化预计起飞时间。