Google地图加载奇怪

Thi*_*lem 1 google-maps position google-maps-api-3

我在我的网站上使用Google Maps API(v3)来显示以某个位置为中心的地图.

这是我的代码:

<script type="text/javascript">
$(document).ready(function() {
    var latlng = new google.maps.LatLng(-22.924484, -43.208001);
    var map = new google.maps.Map(document.getElementById("map-property2"), {
        zoom: 13,
        center: latlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    });
});
</script>
Run Code Online (Sandbox Code Playgroud)

在我结束时我<head>有:

<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
Run Code Online (Sandbox Code Playgroud)

这是结果:

替代文字

你可以看到它就像那里有两张地图..但如果我调整窗口大小,地图就固定了!

还有一个问题:看看地图的左上角?这是变量位置latlng.这应该是地图的中心,但它加载为左上角.:/

Ps.:我的Firebug JS控制台上没有错误或警告.


我在这里找到了一个解决方案:使用API​​ V3的主要谷歌地图故障

并且测试它我发现了另一件事:我正在尝试将地图加载到隐藏的div(不是地图画布,但是包含它的容器)上,当我单击选项卡菜单时会显示该地图.

如果在setTimeout选项卡处于活动状态且容器可见时加载(使用)地图,则地图加载正常.

我疯了......真的.

ska*_*arE 5

如果您在隐藏的div中有地图然后决定显示div,则需要在地图上触发resize事件.

google.maps.event.trigger(map, 'resize');
Run Code Online (Sandbox Code Playgroud)