2012-05-23 17 views
5

私はjavascriptの初心者です。私は別のdiv要素内にあるdiv要素にGoogleマップを設定するための助けが必要です。別のdiv内のdivにマップを設定するにはどうすればよいですか?

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); 

私はdivを入れ子にしている場合、それは動作しません。しかし:ここではdiv要素がネストされていない場合は動作するコードです

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

どのように私はこの問題を解決するのですか?

答えて

5

テストのビットの後、私はあなたがそれがマップにコンテナだ、と定義された高さなしには何も表示されませんのでまた

style="width:100%; height:100%"

あなたid="main" div要素に高さを設定する必要があると結論付けました。それはカーテンを転がすようなものだが、マップはそれだけでそれを押し下げるわけではない。

私はマップが入れ子にせずに動作しますので、あなたもすでに似た何かを持っていると仮定していますが、私は再びそれを言及します:

<style type="text/css"> 
    html, body {height:100%} 
</style> 
+0

ありがとう。完璧に働いた。私は完全に間違った場所で問題を探していました。 – reederz

+0

よろしくお願いします! –

1

のGoogleマップは、そのキャンバスのための静的な高さと幅を必要とします。親divに静的サイズがない場合は、高さと幅に%を使用しないでください。また、Googleマップには、hidden divに読み込めないバグがあります。 (そうする場合は、いくつかのトリックが必要)

関連する問題