para o Google Maps v3, você precisa acionar o evento de redimensionamento de maneira diferente:
google.maps.event.trigger(map, "resize");
Consulte a documentação do evento de redimensionamento (você precisará pesquisar a palavra 'redimensionar'): http://code.google.com/apis/maps/documentation/v3/reference.html#event
Atualizar
Esta resposta está aqui há muito tempo, então uma pequena demonstração pode valer a pena e embora ele use jQuery, não há necessidade real de fazê-lo.
$(function() {
var mapOptions = {
zoom: 8,
center: new google.maps.LatLng(-34.397, 150.644)
};
var map = new google.maps.Map($("#map-canvas")[0], mapOptions);
// listen for the window resize event & trigger Google Maps to update too
$(window).resize(function() {
// (the 'map' here is the result of the created 'var map = ...' above)
google.maps.event.trigger(map, "resize");
});
});
html,
body {
height: 100%;
}
#map-canvas {
min-width: 200px;
width: 50%;
min-height: 200px;
height: 80%;
border: 1px solid blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&dummy=.js"></script>
Google Maps resize demo
<div id="map-canvas"></div>
ATUALIZAÇÃO em 22/05/2018
Com o lançamento de um novo renderizador na versão 3.32 da API JavaScript do Google Maps, o evento de redimensionamento não faz mais parte da Map
classe.
A documentação afirma
Quando o mapa é redimensionado, o centro do mapa é fixo
fonte: https://developers.google.com/maps/documentation/javascript/new-renderer
google.maps.event.trigger(map, "resize");
não tem nenhum efeito a partir da versão 3.32