Internet Explorer 6 не будет отображать карту Bing Ajax v7 - PullRequest
3 голосов
/ 25 февраля 2011

Можно ли загрузить IE6 (или IE 8, установленный в режим причуд через окно инструментов разработчика IE), и показать элемент управления картой Bing Ajax версии 7?

Например, попробуйте запустить пример «Hello World» на этой странице в IE6 или IE8 в режиме причуд. Страница остается пустой.

Из этого блога Я понимаю, что карта Bing Ajax v7 официально не поддерживает IE6. Но вы можете посетить maps.bing.com с IE6, и он показывает карту v7, поэтому это должно быть возможно.

Я поиграл в окне инструментов разработчика IE8, и если вы подавите элемент стиля позиции в div с классом MicrosoftMap, который динамически добавляется с помощью JavaScript MS, он начинает выглядеть лучше. Это заставляет меня думать, что есть некоторая волшебная комбинация стилей на родительских divах и других тегах, которые заставят это работать.

1 Ответ

3 голосов
/ 05 марта 2011

Убедитесь, что вы установили ширину и высоту на карте (как в стиле 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>
...