互联网浏览器6无法显示Bing Ajax v7地图

3

是否可以让IE6(或通过IE开发人员工具窗口设置为怪异模式的IE8)加载和显示Bing Ajax版本7地图控件?

例如,尝试在IE6或IE8中以怪异模式运行此页面上的“Hello World”示例。 页面仍然是空白的。

这篇博客文章中我了解到,Bing Ajax v7地图不正式支持IE6。 但是您可以使用IE6访问maps.bing.com并显示v7地图,因此必须是可能的。

我已经在IE8的开发人员工具窗口中玩过了,如果您抑制了由MS的JavaScript动态添加的class MicrosoftMap的div上的position样式元素,则它开始看起来更好。 这使我认为父div和其他标记上的一些魔术组合将使其工作。


我和你有一样的问题。我正在升级到 7.0,但在网站上看到 IE6 没有列入支持的浏览器部分。然而,实际上使用新 API 并在 IE6 中工作的必应地图网站。我想他们可能为自己添加了支持,但没有针对开放版本进行添加。这是一个重大打击,因为现在我需要支持两个版本(约 7% 的访客使用 ie6)。我在 Fiddler 中进行了测试,似乎图像和其他内容都已经加载,但图像没有出现在地图上。不过,可能有一种解决方法。 - Matt Wolfe
1个回答

3

请确保在地图上设置宽度和高度(在div样式和传递给地图构造函数的mapoptions中都需要设置)。 虽然我无法亲自测试,但可以尝试以下操作:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
  <title></title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <script type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0"></script>
  <script type="text/javascript">
    function GetMap() {
       var map = new Microsoft.Maps.Map(document.getElementById("mapDiv"),
              { credentials: "BingMapsKey",
                center: new Microsoft.Maps.Location(52.6, 1.26),
                mapTypeId: Microsoft.Maps.MapTypeId.road,
                zoom: 7,
                height: 480,
                width: 640
              });
    }
  </script>
</head>
<body onload="GetMap();">
  <div id="mapDiv" style="position:relative; width:640px; height:480px;"></div>    
</body>
</html>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接