2011-01-25 3 views
1

새로운 빙지도에 이상한 점이 있습니다. 지도를 div에 위치 시키면 팝업 메뉴 ("birds-eye view"위로 마우스를 이동)가 훨씬 더 아래쪽에 팝업됩니다.빙지도 메뉴 버그 : 위치 : 절대/상대?

우리가 만드는이 코드를 수정하는 방법에 어떤 아이디어가 작동 :

<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> 
+0

이 문제를 해결할 수 있었습니까? 나는 똑같은 시나리오를 가지고있다. 내가 가지고있는 또 다른 문제는 (같은 루트에서 유래한다고 생각한다),'dblclick' 이벤트에서 반환 된'MouseEventArgs.getY()'이 완전히 잘못되었다는 것입니다 (두 번 클릭하면지도에 고정 핀이 추가됩니다. 압정은 내가 클릭하는 위치에 추가되지 않습니다). 또한 마우스 휠을 사용하여 확대/축소 할 때 왜곡 된 확대/축소가 발생합니다. 누구나 해결책을 찾으면 큰 도움이됩니다. – OGG

+0

Microsoft는이 문제가 해결되었지만 내 페이지는 전혀 수정되지 않았다고 말합니다. 이제 페이지가 맨 위로 이동 한 다음 메뉴를 배치합니다. 그러나 그것은 여전히 ​​올바른 위치에 놓여 있지 않습니다. 자세한 내용은이 스레드를 참조하십시오. http://social.msdn.microsoft.com/Forums/eu/vemapcontroldev/thread/9f505bda-51b2-4545-b6e2-8f5fceedd573#88e76e55-6b8a-4dce-b9ed-698a250ed743 –

답변

0

을 다음과 같이, 여는 태그 전에 문서의 상단에 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

(사이드 참고로, 나는 또한 당신이 "자격 증명"줄을 제거하기 위해 귀하의 질문을 수정하는 것이 좋습니다 -이 당신의 자신의 개인 어플리입니다 당신이 보호하려고 노력해야하는 양이온 키)

+0

시도해 보았습니다. ,하지만 작동하지 않습니다. – Bodekaer

+0

이 페이지를 참조하십시오 : http://michaelbodekaer.com/temporary/BingBug_position.html 참조한 스크립트의 직접 복사입니다. 위의 div를 추가하면됩니다. "Birdsview"라는 메뉴 위에 마우스를 올리면 화면 아래에 팝업이 표시됩니다. – Bodekaer

0

나는 이것을 조사해 보았는데, 내가 스크롤하기 전에 메뉴가 시작되었을 때 메뉴가 올바른 위치에 나타난다는 것을 알았다. 그러나 처음 페이지를 스크롤하면 메뉴가 X 픽셀만큼 떨어져 표시됩니다. 여기서 X는 스크롤 한 픽셀 수와 같습니다.

내 진단은 실제 페이지의 위쪽이 아니라 스크롤 된 뷰포트 (바디로)에서 오프셋을 계산한다는 것입니다. 이 문제를 해결할 수있는 유일한 방법은 Microsoft에서 실수를 바로 잡는 것입니다.