Cuando la pagina se carga, ocultamos el div.... (hacemos como), y cargamos el mapa y cuando este este cargado sacamos el boton de mostrar/ocultar (que deberia llevar un display:none para que salga cuando el mapa este listo)
Código:
$(document).ready(function(){
$('#map').slideUp();
document.getElementById('map').innerHTML = '<iframe width="640" height="480" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.es/maps?f=q&source=s_q&hl=es&geocode=&q=Puerta+del+Sol,+Madrid&aq=3&sll=40.396764,-3.713379&sspn=8.59894,19.753418&ie=UTF8&hq=&hnear=Puerta+del+Sol,+PLAZA+Puerta+DEL+SOL,+14,+28013+Madrid,+Comunidad+de+Madrid&ll=40.422906,-3.703423&spn=0.031364,0.054932&z=14&iwloc=A&output=embed"></iframe>';
$('#map').ready(function(){
$('#botonmostrarocultar').show();
});
});
Ahora la funcion del boton/link de mostrar/ocultar la pones en el onclick="mostrarocultar()" y fuera del document.ready para que no haya conflictos
Código:
function mostrarocultar(){$('#map').slidetoggle;}
Creo que asi deberia funcionar, pero no estoy muy seguro del $('#map').ready() dentro del document.ready(). Ya me contaras