如何在另一个div中设置div到div?

时间:2012-05-23 01:55:49

标签: javascript google-maps-api-3

我是javascript的新手,我需要你的帮助,将谷歌地图设置为div元素,这是另一个div元素。如果div元素没有嵌套,这是有效的代码:

function initialize() {

var myOptions = {
    center: new google.maps.LatLng(-34.397, 150.644),
    zoom: 8,
    mapTypeId: google.maps.MapTypeId.ROADMAP
};

var map = new google.maps.Map(document.getElementById("map_canvas"),
        myOptions);

但是,如果我有嵌套的div,它不起作用:

<body onload="initialize()">
<div id="main">
    <div id="map_canvas" style="width:100%; height:100%"></div>
</div>
</body>

如何解决这个问题?

2 个答案:

答案 0 :(得分:5)

经过一些测试后,我得出结论,你需要为你的id="main" div设置一个高度

style="width:100%; height:100%"

因为它是地图的容器,没有定义的高度,所以不会出现任何内容。这就像滚下窗帘一样,地图不会单独推下它。

我假设你已经有了类似的东西,因为地图的工作没有嵌套,但我会再次提到它:

<style type="text/css">
  html, body {height:100%}
</style>

答案 1 :(得分:1)

Google地图需要其画布的静态高度和宽度。如果父div没有静态大小,则不应使用%作为高度和宽度。此外谷歌地图有一个错误,它无法加载隐藏的div。 (如果这样做,你需要一些技巧)