By starting a small re-placement of the map after drawing all the polygons, this is added to the same internal google maps event queue, as shown in this example: http://jsfiddle.net/rmXXF/40/
google.maps.event.addListener(map, 'idle', function() { document.getElementById('status').innerHTML = 'DONE'; });
and
my_map.setCenter(new google.maps.LatLng(my_map.getCenter().lat(), my_map.getCenter().lng() + .000000001));
David mulder
source share