代码之家  ›  专栏  ›  技术社区  ›  JoeHughes

JqueryUI谷歌地图不会调整大小,除非单击

  •  0
  • JoeHughes  · 技术社区  · 11 年前

    我已经编写了一个点击函数,当点击地图时,它会调整地图的大小并重新居中。

    有没有一种方法可以使函数在加载选项卡时自动运行?这就是功能。

                mapResize = function () {
                    var mapFirstClick = false;
                    var center = new google.maps.LatLng(32.565243, -97.130531);
                    $("#tabs-4").click(function() {
                        mapFirstClick || setTimeout(function() {
                            google.maps.event.trigger(map, 'resize');
                            mapFirstClick = true;
                            map.setCenter(center);
                        }, 250);
                    });
                },
    

    你可以看到它在 http://l2technotes.dyndns.org 通过单击“位置”选项卡,地图无法正确加载,但如果您单击地图,它会重新调整大小并正确居中,这告诉我单击功能正在工作。

    一如既往,任何指导都将不胜感激。

    1 回复  |  直到 11 年前
        1
  •  0
  •   Dr.Molle    11 年前

    首先:您使用的是jqueryUI 1.10。您在网上找到的大多数资源都引用了1.8,但也有一些重大更改,例如在1.10中不再有显示事件,请使用 activate 相反:

        $('#tabs').tabs({
            activate: function (event, ui) {
                        if (ui.newPanel.attr('id') =='tabs-4') {
                          ui.newPanel.click();
                        }
                      }
        });
    

    您可以在此处找到1.10的文档: http://api.jqueryui.com/1.10/tabs/