2012-01-23 11 views
0

Googleマップを読み込む際に問題があります。私の頭のセクションでは、私は次のコード(私は正しいGoogleのAPIキーを持っている)Googleマップはロードしたくない

<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script> 
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=MYKEY&sensor=false"></script> 
<style type="text/css"> 
    html { height: 100% } 
    body { height: 100%; margin: 0; padding: 0 } 
    #map_canvas { height: 100% } 
</style> 
<script type="text/javascript"> 
    function initialize() { 
     var myOptions = { 
      center: new google.maps.LatLng(-34.397, 150.644), 
      zoom: 8, 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     }; 
     var map = new google.maps.Map(document.getElementById("map_canvas"), 
     myOptions); 
    } 
</script> 

を持っており、次のように私の体の部分が開始されます:

<div class="page"> 
    <div id="header"> 
     <div id="title"> 
      <h1>My MVC Application</h1> 
      <div id="map_canvas" style="width: 100%; height: 100%"></div> 

これは動作しません。しかし、bodyの直後の "map_canvas" divを移動すると、

<body onload="initialize()"> 
<div id="map_canvas" style="width: 100%; height: 100%"></div> 
    <div class="page"> 
     <div id="header"> 

すべて正常に動作します。私を助けてください。さらに、initializeメソッドを呼び出す代わりにjQueryを使用するにはどうすればよいですか?

+1

試行画素の高さと幅の代わりに、パーセンテージ、それが動作するはず –

答えて

0

Bassamが述べたように、ピクセルの幅と高さを明示的に設定する必要があります。そうでなければ、page, header, and title要素のCSSを見てください。これらの要素の幅と高さは、map_canvas要素にカスケードする必要があります。

、代わりに初期のjQueryのを使用body要素からonload="initialize()"を除去しinitialize()機能の上、次のコードを追加する:

$(document).ready(function() { 
    initialize(); 
});