google.maps.event.trigger

时间:2013-01-13 22:12:44

标签: google-maps google-maps-api-3

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

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

3 个答案:

答案 0 :(得分:0)

首先我注意到你有一些地方说Demo.map和其他人说demo.map一定要在整个代码中保持一致的大写,以避免任何错误。您还可以在jQuery语句之前放置变量声明,以确保更少的错误。

答案 1 :(得分:0)

看起来你有正确的想法,但你已经将地图命名为Demo.Map,并且你在demo.map上触发了一个调整大小。

demo.map!== Demo.map

编辑:对评论的回应

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

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

看起来应该是这样的(摆脱if语句 - resize事件是轻量级的,如果你在不必要时调用它并不重要):

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

答案 2 :(得分:0)

试试这个好友

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