TwitterBootstrapを使用してGoogleマップをモーダルに挿入しようとしています。モーダルは、存在するマップの形状とともに表示されますが、マップの一部のみが表示され、残りは灰色です。画面のサイズを変更すると、地図は常に正しく表示されますが、中央が間違っています。
地図のサイズ変更イベントを呼び出す、地図画像の最大幅をnoneに設定するなどの提案を検索して見つけましたが、これらの提案はこれまでのところ役に立ちませんでした。非表示になっている要素内にある限り、マップは正しいサイズを認識できないようです。
JS
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(51.219987, 4.396237),
zoom: 12,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("mapCanvas"),
mapOptions);
var marker = new google.maps.Marker({
position: new google.maps.LatLng(51.219987, 4.396237)
});
marker.setMap(map);
}
HTML
<div class="modal hide fade" id="myModal">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h3></h3>
</div>
<div class="modal-body">
<div id="mapCanvas" style="width: 500px; height: 400px"></div>
</div>
<div class="modal-footer">
<a href="#" class="btn" data-dismiss="modal">Close</a>
</div>
</div>
TwitterBootstrapv2.0.4を使用しています。サイズ変更イベントを正しくトリガーできないか、Googleマップがそのままになるようにcssを編集していないため、サポートが必要です。