When you show the map, fire its resize event.
From the documentation:
Developers should fire this event on the map when the div google.maps.event.trigger(map, 'resize') : google.maps.event.trigger(map, 'resize')
There will be a way to do this in GWT
Event.trigger(mapWidget.getMap(), "resize");
The map is currently zero in size, as far as the API is concerned, so it just displays the fragment buffer around a single pixel at (0,0). resize event causes the API to get the correct size from the browser in order to display the necessary fragments for display.
source share