1

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

有什么解决方案可以让我的地图完全显示??????

4

3 回答 3

0

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

于 2013-01-13T22:24:51.630 回答
0

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

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({
        activate: function(e, ui) {                                
         google.maps.event.trigger(Demo.map, "resize");
        }
    });
});
于 2013-01-13T22:27:20.873 回答
0

试试这个朋友

$(function() {
    $("#tabs").tabs({
        show: function(e, ui) {                                
         google.maps.event.trigger(Demo.map, "resize");   
        }
    });
});
于 2013-04-25T13:48:36.030 回答