Tengo una página con dos pestañas. La primera pestaña tiene fotos y la segunda un mapa de Google. El problema es que el mapa de google no está dibujando completamente porque está en un div oculto. Así que moví la función initialize() al href de la pestaña del mapa usando onclick(). Esto funciona la primera vez que hace clic en él, pero cuando vuelve a la pestaña de fotos y luego vuelve a la pestaña del mapa, el mapa solo se dibuja parcialmente. Si hace clic en la pestaña del mapa una segunda vez, funciona perfectamente. ¿Algunas ideas?Google maps en oculto div
pestañas javascript:
<script type="text/javascript">
$(function() {
var tabContainers = $('div.tabs > div');
$('div.tabs ul.tabNavigation a').click(function() {
tabContainers.hide().filter(this.hash).show();
$('div.tabs ul.tabNavigation a').removeClass('selected');
$(this).addClass('selected');
return false;
}).filter(':first').click();
});
</script>
JavaScript de Google Maps:
<script type="text/javascript">
function initialize() {
var latlng = new google.maps.LatLng(<?=$lat ?>, <?=$lng ?>);
var myOptions = {
zoom: 15,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
var marker = new google.maps.Marker({
position: latlng,
map: map,
title:"<?=$fulladdress ?>"
});
}
</script>
html:
<div class="tabs">
<ul class="tabNavigation">
<li><a href="#first">Photos</a></li>
<li><a href="#map_canvas" onclick="initialize(); return false;">Map</a></li>
</ul>
<div id="first"> </div>
<div id="map_canvas" ></div>
Gracias pero eso no solucionó el problema. El mapa se carga bien la primera vez que presiono la pestaña de mapas, pero si toco la pestaña de fotos y luego vuelvo a la pestaña de mapas, solo se carga parcialmente. – Rob
@Rob Hmm, eso es interesante, ¿el mapa se llama definitivamente "mapa" y cuando lo cambias de tamaño, tienes el mapa en el alcance? –
puede verlo en acción aquí: [link] (http://www.518forsalebyowner.com/tabs.php?id=92062) – Rob