5

我是 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>

我该如何解决这个问题?

4

2 回答 2

5

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

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

因为它是地图的容器,没有定义的高度,什么都不会出现。就像拉下窗帘,地图不会自己推下去。

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

<style type="text/css">
  html, body {height:100%}
</style>
于 2012-05-23T02:02:41.750 回答
1

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

于 2012-05-23T02:34:41.470 回答