2011-01-25 27 views
1

新しいBing Mapsには奇妙な問題があります。 のページをさらに下に配置すると、ポップアップメニュー(「鳥瞰図」の上にマウスを置く)がページのさらに下にポップアップ表示されます。Bing Maps Menuバグ:位置:絶対/相対?

我々はそれを動作させるために、このコードを修正することができますどのように任意のアイデア:

<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

この問題を解決できましたか?私はまったく同じシナリオを持っています。私が持っているもう1つの問題は、 'dblclick'イベントで返された' MouseEventArgs.getY() 'が完全に間違っていることです(私はダブルクリックで地図に押しピンを追加しています。私がクリックした場所に押しピンは追加されません)。これはまた、マウスホイールを使用してズームするときに歪んだズーミングを引き起こします。 誰にでも解決策がある場合は、非常に感謝しています! – OGG

+0

マイクロソフトでは、この問題は修正されていますが、私のページでは修正されていないと言います。彼らはページを上にジャンプさせ、メニューを配置します。しかし、それはまだ適切な位置に配置されていません。 詳細については、このスレッドを参照してください。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が間違いを訂正することだと思います。