谷歌地图没有显示在div中

时间:2015-05-31 12:28:09

标签: html css google-maps

我有一个谷歌地图div,显示我以像素为单位定义高度但不是百分比;在我的例子中,我尝试将高度设置为100%。

我已经阅读了一些SOF答案,这些答案表明我必须设置父div高度,我可以通过定位css中所有地图的父div来完成,但是地图没有显示。有人可以帮忙吗?

以下是执行的代码:

            <div id="map-wrapper">
                <div id="map-canvas"></div>
            </div>


html, body, #map-wrapper #map-canvas {
    margin: 0;
    padding: 0;
    height: 840px;
    width: 100%;  }


这是我的代码工作:

            <div id="map-wrapper">
                <div id="map-canvas"></div>
            </div>


html, body, #map-wrapper #map-canvas {
    margin: 0;
    padding: 0;
    height: 100%;
    width: 100%;  }

的JavaScript

        var map;
        function initialize() {
            var mapOptions = {
                zoom: 8,
                center: new google.maps.LatLng(-34.397, 150.644)
                };
                map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
        }
        google.maps.event.addDomListener(window, 'load', initialize);

1 个答案:

答案 0 :(得分:2)

请注意,对于100%的高度,您还需要将所有父元素也设置为100%高度。

my fiddler 1 中,地图位于html - &gt;身体 - &gt; div#map-wrapper - &gt; DIV#地图画布。每个元素的高度必须为100%。

所以基本上我只是将map-wrapper div添加到你的css:

html, body, #map-wrapper, #map-canvas {
    margin: 0;
    padding: 0;
    height: 100%;
    width: 100%;
}

你现有的#map-wrapper #map-canvas css(注意缺少的逗号!)会遗漏周围的div。

1 我没有添加api密钥,因此您收到错误警告,并且为了调试我给地图一个红色背景。