I have a single page, forward button, back button and a Google map. When clicking forward or back buttons, I don't reload the page, I just change the HTML inside the following tag,
<div id="map" class="map"></div>
var map = new google.maps.Map(document.getElementById('map') ...
$('body').on( 'change', 'div.button', function()...
The code which creates a new instance of the map is probably only running once. After you update the
#content div, you need to run the code again to instantiate a new map (and, ideally, destroy the previous map).
How are you updating the content dynamically? If you're using
jQuery.get() for example, you can supply a callback function which will run after the content has updated. It's here you'd want to load the map.