Google Maps v3 Infobox Plugin

HTML

<script src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script src="http://google-maps-utility-library-v3.googlecode.com/svn/trunk/infobox/src/infobox.js"></script>
<script src="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css">
<div class="modal fade" id="mapmodals">
    <div class="modal-dialog modal-lg">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                <h4 class="modal-title">Peggy Guggenheim Collection - Venice</h4>
            </div>
            <div class="modal-body">
                <div id="map-canvas"></div>
            </div>
            <div class="modal-footer">
                <button type="button" class="close" data-dismiss="modal">Fechar</button>
            </div>
        </div><!-- /.modal-content -->
    </div><!-- /.modal-dialog -->
</div><!-- /.modal -->

<button onclick="showModal();">Modal!</button>

CSS

html, body, #map-canvas {
    height: 400px;
    margin: 0px;
    padding: 0px
}

JavaScript

$('#mapmodals').modal();

var map;

function showModal() {
    $('#mapmodals').modal('show');
}

function initialize() {
    var mapOptions = {
        zoom: 8,
        center: new google.maps.LatLng(-34.397, 150.644)
    };
    
    map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
}

 google.maps.event.addDomListener(window, 'load', initialize);

 $('#mapmodals').on('shown.bs.modal', function () {
     google.maps.event.trigger(map, 'resize');
 });