Ошибка в Bing Maps Menu: Положение: Абсолютное / Относительное? - PullRequest
1 голос
/ 25 января 2011

У нас странная проблема с новыми Bing Maps.При расположении карты на div ниже на странице всплывающее меню (при наведении мыши на «вид с высоты птичьего полета») всплывает намного дальше вниз на странице.

Любые идеи, как мы можем исправить этот код, чтобы он работал:

<html>
   <head>
      <title></title>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.4.min.js"></script>
        <script type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0"></script>

      <script>
        $(document).ready(function(){
            //console.debug('Map', ($("#map"))[0]);
            var location = new Microsoft.Maps.Location(-8.59838423, 115.33570617,  0),
                map = new Microsoft.Maps.Map(($("#map"))[0], {
                    credentials: '<removed credentials>',
                    disableUserInput: false,
                    showCopyright: false,
                    showDashboard: true,
                    showLogo: false,
                    showScalebar: false,
                    mapTypeId:Microsoft.Maps.MapTypeId.birdseye
                }
            );


            map.setView({
                animate: false,
                center: location,
                zoom: 12
            });

            //map.entities.push(Microsoft.Maps.Pushpin(location));


          });


      </script>
   </head>
    <body>

        <div style="position: relative;">
            <div style="width:200px; height: 1000px; background: #eee; position: relative;">Some long content</div>
            <div style="position: relative;">
                <div id="map" style="width: 600px; height: 300px; "></div>
            </div>
            <div style="width:200px; height: 1000px; background: #eee;">Some long content</div>
     </div>

    </body>
</html>

Ответы [ 2 ]

0 голосов
/ 03 февраля 2011

Я посмотрел на это и обнаружил, что, когда меню было запущено перед прокруткой вниз, меню появилось в правильном положении.Однако, если бы я сначала прокрутил страницу вниз, меню было бы отключено на X пикселей, где X равно числу прокручиваемых пикселей.

Мой диагноз состоит в том, что Microsoft вычисляет смещение из прокручиваемой области просмотра (идиотски) а не верхняя часть реальной страницы.Я думаю, что единственный способ исправить это - исправить ошибку Microsoft.

0 голосов
/ 25 января 2011

Вам необходимо добавить объявление DOCTYPE в начало документа, перед открывающим тегом, следующим образом:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Описано здесь: http://msdn.microsoft.com/en-us/library/gg427624.aspx

(В качестве примечания я также предлагаю вам отредактировать свой вопрос, чтобы удалить строку «учетные данные» - это ваш личный ключ приложения, который вы должны попытаться защитить)

...