Google maps google.maps.event.trigger

Google maps google.maps.event.trigger,google-maps,google-maps-api-3,Google Maps,Google Maps Api 3,为了让谷歌地图正常工作而苦苦挣扎了数小时。单击第二个选项卡时,地图仅显示30%。它坏了。我正在使用事件触发器重新加载地图 任何让我的地图完全显示的解决方案?????首先,我注意到有些地方说Demo.map,有些地方说Demo.map。请确保在整个代码中保持大小写一致,以避免任何错误。此外,您还可以将变量声明放在jQuery语句之前,以确保减少错误。看起来您的想法是正确的,但是您已经将map Demo.map命名,并且正在Demo.map上触发一个resize demo.map!==Demo.ma

为了让谷歌地图正常工作而苦苦挣扎了数小时。单击第二个选项卡时,地图仅显示30%。它坏了。我正在使用事件触发器重新加载地图


任何让我的地图完全显示的解决方案?????

首先,我注意到有些地方说Demo.map,有些地方说Demo.map。请确保在整个代码中保持大小写一致,以避免任何错误。此外,您还可以将变量声明放在jQuery语句之前,以确保减少错误。

看起来您的想法是正确的,但是您已经将map Demo.map命名,并且正在Demo.map上触发一个resize

demo.map!==Demo.map

编辑:对评论的回应

查看jQuery UI选项卡API(http://api.jqueryui.com/tabs/#option-show)-您应该调用的事件的名称是活动的,而不是显示的,因此以下代码:

$(function() {
    $("#tabs").tabs({
        show: function(e, ui) {
            if (ui.index == -1) {
                google.maps.event.trigger(Demo.map, "resize");
            }
        }
    });
});
应该是这样的(去掉if语句-resize事件是轻量级的,在不必要时调用它并不重要):

试试这个伙计

$(function() {
    $("#tabs").tabs({
        show: function(e, ui) {                                
         google.maps.event.trigger(Demo.map, "resize");   
        }
    });
});

访问页面时打开JavaScript控制台-它会准确地告诉您问题所在。您没有找到属于已删除的if语句的}。是否修复了此问题?我找到了解决办法
$(function() {
    $("#tabs").tabs({
        show: function(e, ui) {                                
         google.maps.event.trigger(Demo.map, "resize");   
        }
    });
});