我正在尝试在div上创建一个谷歌地图,它正在生成,并且IE无法正确加载地图并在加载所有元素时抛出错误“在main.js第25行出现未知错误”
可在此处找到测试文件:http://martinezdelizarrondo.com/bugs/map.html
这是代码:
<p>
<img height="370" id="gMapPreview" src="http://maps.google.com/maps/
api/staticmap?
center=37.4419,-122.1419&zoom=11&size=500x370&maptype=roadmap&sensor=false"
width="500" />
</p>
<script type="text/javascript">
function initLoader()
{
// Create a div replacing the existing img preview
var imgMap = document.getElementById("gMapPreview"),
dMap = document.createElement("div");
imgMap.parentNode.replaceChild( dMap, imgMap);
dMap.style.width = "500px";
dMap.style.height = "370px";
new google.maps.Map( dMap, {
zoom: 11,
center: new google.maps.LatLng(37.4419,-122.1419),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
}
if (window.addEventListener) {
window.addEventListener("load", initLoader, false);
} else {
window.attachEvent("onload", initLoader);
}
</script>
如果我将div放在原始源代码而不是使用javascript创建它,那么它可以正常工作,但是对于这个项目我想这样做。我已经尝试在页面加载完成之前创建div,但这并没有改变问题。
我没有使用IE9进行测试,仅使用IE8,但由于这是为了在网站的公共端运行,因此该解决方案也适用于IE6&amp; 7由于GoogleMaps api支持它们。
答案 0 :(得分:0)
在我的头脑中,我建议在新的之前做点什么:
var map = new google.maps.Map( dMap, {
zoom: 11,
center: new google.maps.LatLng(37.4419,-122.1419),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
答案 1 :(得分:0)
IE8不希望你在p标签中放置块级元素(div here)。将p更改为div应解决问题。