重新加载谷歌地图

时间:2013-03-13 14:23:02

标签: javascript google-maps iframe refresh

我在我的网站上有3个不同的谷歌地图,一个用于在台式机,平板电脑和移动设备上查看时,当我调整浏览器的大小时,人们可能会做新的地图指针,现在已经调整大小不是在正确的地方,直到我刷新页面,我想重新加载iframe,我是非常新的javascript并试过这个,但它的工作

<script type="text/javascript">
            if( $(window).width() == 985){

                document.getElementById('map-desk').contentWindow.location.reload(true);
            }

            if( $(window).width() == 975){

                document.getElementById('map-tab').contentWindow.location.reload(true);
            }

            if( $(window).width() == 765){

                document.getElementById('map-mob').contentWindow.location.reload(true);
            }

        </script>

所以当屏幕等于某个宽度时,iframe会重新加载或刷新

3 个答案:

答案 0 :(得分:1)

没有实际的事件处理程序,所以它只会在浏览器加载时触发一次(显然不是你想要的)。在使用jQuery时,请将代码包装在:

$(window).resize(function() {

    // code goes here...

});

...每次运行代码时,浏览器大小都会有一分钟的变化。虽然您会遇到$(window).width()很少会达到精确像素值的问题。我不确定最好的解决方案,但无论哪种方式检查条件+/- 30像素都可能有效。

答案 1 :(得分:0)

我认为您正在寻找jQuery中的以下事件

window.onresize = function(event) {
  //your code to resize and reload here
}

答案 2 :(得分:0)

如果调整了mapdiv的大小,Google地图会重新加载。给mapdiv 100%的宽度。它将适合窗口的大小。如果要更改地图(图层,标记,路线......)的内容,则应使用Google地图事件。此处列出了事件,选项和方法:https://developers.google.com/maps/documentation/javascript/reference