我正在使用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);
});
});
答案 0 :(得分:0)
我假设您在单独的window.onload
(或等效的)上初始化地图。在地图初始化之后,需要运行此脚本。现在发生的事情是这个 window.onload
在初始化脚本之前略微运行,即使它们在技术上同时触发。
可以通过将此脚本直接附加到地图初始化来解决此问题。这样可以保证时序排好。