如何使用map.getCenter()和google.maps.event.trigger()

How to use map.getCenter() and google.maps.event.trigger()

本文关键字:maps event trigger google getCenter 何使用 map      更新时间:2023-09-26

我使用Gmap模块。如果您尝试在隐藏的div上初始化映射,那么它将无法显示。

我们可以在脚本中使用google.maps.event.trigger(map, 'resize');,因为我总是将我的地图放在左上角。

我找到了map.getCenter(); map.setCenter();的解决方案,但是当我在我的js文件中使用这个选项卡自定义代码时,它不起作用,因为"map"没有定义。

有解决方案吗?

下面是我的代码:

$(document).ready(function(){
        $('.spoiler-body1').hide(); 
        $('.spoiler-head').click(function(){
            var mapObj = window[$('.bx-google-map').attr('id')];
            var center = mapObj.getCenter();
            $(this).toggleClass("folded1").toggleClass("unfolded").next().slideToggle();
            google.maps.event.trigger(mapObj, 'resize');
            mapObj.setCenter(center);
        });
    });

我假定您在单独的window.onload(或等效)上初始化了映射。该脚本需要在映射初始化之后运行。现在发生的事情是,这个 window.onload运行在初始化脚本的另一个之前,尽管它们在技术上是同时触发的。

可以通过将此脚本直接附加到映射初始化中来修复。这将保证时间对齐。