我的aspx页面内容是这个
<body>
<div id="mapDiv"></div>
<form id="form" runat="server"></form>
</body>
在代码隐藏中我创建了脚本
string script = string.Format(@"function initialize() {{
var mapOptions = {{
center: new google.maps.LatLng({0},{1}),
zoom: 8,
tilt: 30
}};
var map = new google.maps.Map(document.getElementById('mapDiv'), mapOptions);
{2}
}}
function addInfoWindow(marker, content) {{
var infoWindow = new google.maps.InfoWindow({{
content: content
}});
google.maps.event.addListener(marker, 'click', function () {{
if (currentInfoWindow != null) {{
currentInfoWindow.close();
}}
infoWindow.open(marker.get('map'), marker);
currentInfoWindow = infoWindow;
}});
}}
google.maps.event.addDomListener(window,'load',initialize);
var currentInfoWindow = null;",
coordinates[0], coordinates[1], DrawMarkers(groups));
ClientScript.RegisterStartupScript(this.GetType(), "mapInit", script, true);
如果aspx包含div和表单元素,就像现在一样,一切正常。但是我必须使用这个aspx文件的母版页。当我相应地更改其内容时,我必须删除表单元素,因为主文件中已有一个。但是当我删除表单元素时,地图就会消失。
答案 0 :(得分:0)
由于某种原因,在我的自定义CSS中,我设置了&#34;身高:100%&#34;并且浏览器不喜欢它,虽然&#34;宽度:100%&#34;很好。所以我用
解决了我的问题var mapDiv = document.getElementById('mapDiv');
var height = Math.max(0, document.documentElement.clientHeight - 110).toString();
mapDiv.setAttribute('style','height: ' + height + 'px');