0

这可能是某处问题的重复,但我无法想出关键字来生成它。

我正在使用 Google Maps API V3 并遵循https://developers.google.com/maps/documentation/javascript/tutorial提供的简单教程。一切都很好,除了 IE9,它在 IE9 标准模式下呈现。问题是,当地图加载到一个非常简单的 ASP.NET 表单页面上时,生成的 HTML 有两次div地图的容器!这会导致布局问题,因为如教程中所述:

请注意,地图将始终从其包含元素的大小中获取大小,因此您必须始终明确设置大小。

因此,div包含我的地图必须设置为一定数量的像素或 100%,与其 DOM 父级的值相同。这在 FireFox 和 Chrome 中很好,HTML 源代码大致如下:

<!DOCTYPE html>
<html>
<head>
 ...
</head>
<body class="no-layout"><form name="aspnetForm" method="post" action="TestPopup.aspx" id="aspnetForm">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDw... />
</div>
<div class="map" />
</form></body>
</html>

但在 IE9 中,我们最终得到:

<!DOCTYPE html>
<html>
<head>
 ...
</head>
<body class="no-layout"><form name="aspnetForm" method="post" action="TestPopup.aspx" id="aspnetForm">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDw..." />
</div>
<div class="map" />
</form>
<div class="map" />
</body>
</html>

此页面是问题的(工作)简化,但这是页面中的实际问题,因为地图类设置了宽度和高度。div该类的第二个具有相同的样式,将内容下推。

4

0 回答 0