Pour Google Maps v3, vous devez déclencher l'événement de redimensionnement différemment :
google.maps.event.trigger(map, "resize");
Consultez la documentation relative à l'événement de redimensionnement (vous devrez rechercher le mot "redimensionnement") : http://code.google.com/apis/maps/documentation/v3/reference.html#event
Mise à jour
Cette réponse est présente depuis longtemps, aussi une petite démonstration peut-elle être utile. Bien qu'elle utilise jQuery, ce n'est pas vraiment nécessaire.
$(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>
MISE À JOUR 2018-05-22
Avec la nouvelle version du moteur de rendu dans la version 3.32 de l'API JavaScript de Maps, l'événement de redimensionnement ne fait plus partie de l'API. Map
classe.
La documentation indique
Lorsque la carte est redimensionnée, le centre de la carte est fixe.
source : https://developers.google.com/maps/documentation/javascript/new-renderer
google.maps.event.trigger(map, "resize");
n'a pas d'effet à partir de la version 3.32