 <p>This is <a href="http://jsfiddle.net/catch_shailendra/4mtyu/1033/" rel="nofollow">working fiddle</a> of your code what is wrong with your code is you open a map on window load by <code>initMap( $( '.map' ) );</code> which run <code>google.maps.event.addDomListener( window, 'load', function()</code> and later you call same function on click that not make any sense , because this line register window load event to run function inside it's block </p> <p>and appending new map in existing map also not working, that's all hope This may help </p> <p>it's not complete code just a idea how this will work </p>