Tengo un panel que se oculta y se muestra pulsando un bonton funciona bien, dentro del panel tengo un mapa de google maps que tambien funiona el problema es que para que el panel aparezca oculta lleva en el css un display:none;
Entonces al pulsar el boton muestra el panel pero esto hace que elmapa no se veo completo solo un trozo, he probado a quitar el display:none; y se ve pero claro el panel se ve al entrar y debe estar oculto, dejo el codigo para que lo vean:
Código HTML:
Ver original
<head> <link rel="stylesheet" type="text/css" href="agenda.css"> <style> .div_oculto_direcciones_negocio{ display:none; display:block; overflow:hidden; } </style> <script type="text/javascript"> $(document).ready(function() { // Aquí va el resto del código que solo se ejecutará cuando la página haya cargado. }); </script> <script type="text/javascript"> $(document).ready(function(){ $("#boton").click(function(){ $("#div1").fadeToggle(700); }); }); </script> <script type="text/javascript" src="https://maps.google.com/maps/api/js?sensor=false"> </script> <script type="text/javascript"> var mapa; var marcador; var geocoder; function inicializar(){ geocoder = new google.maps.Geocoder(); var myLatlng = new google.maps.LatLng(37.192869,-3.613186); var mapOptions = { zoom: 16, center: myLatlng, mapTypeId: google.maps.MapTypeId.ROADMAP } mapa = new google.maps.Map(document.getElementById('map_canvas'), mapOptions); google.maps.event.addListener(mapa, 'click', function (event){ creaMarcador(event.latLng) }); } function creaMarcador(localizacion){ // Crear marcador if (marcador) marcador.setMap(null); marcador = new google.maps.Marker({ position: localizacion, draggable: true, map: mapa }); mapa.setCenter(localizacion); // Rellenar X e Y document.formulario.latitud.value=localizacion.lat(); document.formulario.longitud.value=localizacion.lng(); // Modificar X e Y al mover google.maps.event.addListener(marcador,'drag',function(event){ document.formulario.latitud.value=event.latLng.lat(); document.formulario.longitud.value=event.latLng.lng(); //mapa.setCenter(localizacion); }); } function direc(){ var dire = document.getElementById("direccion").value; geocoder.geocode( {'address': dire}, function(results, status) { if (status == google.maps.GeocoderStatus.OK) { mapa.setCenter(results[0].geometry.location); creaMarcador(results[0].geometry.location); } else { alert("Geocode was not successful for the following reason: " + status); } }); } </script> </head> <body onload="inicializar()"> <div id="div1" style=" display:none; overflow:hidden"> <form action="save.php" method="post" name="formulario"> <table> Dirección: <input type="text" id="direccion" name="direccion" onchange="direc()"/> <input type="submit" value="Guardar"/> <input type="reset" value="Limpiar"/> X: <input type="text" name="latitud"/> </form> </div> <input id="boton" class="Boton_gris" style="margin:10px 0px 10px 0px;" type="button" id="boton" name="enviar" value="Añadir dirección nueva"/> </body> </html>
A ver si alguien sabe como sepodria solucionar esto.
Un saludo amigos