У меня есть страница с двумя вкладками. На первой вкладке есть фотографии, а вторая - на карте google. Проблема в том, что карта google полностью не рисуется, потому что она находится в скрытом div. Поэтому я переместил функцию initialize() на href вкладки map, используя onclick(). Это работает в первый раз, когда вы нажимаете на него, но когда вы вернетесь на вкладку фотографий, а затем вернитесь на вкладку карты, карта только частично рисует. Если вы нажмете вкладку карты во второй раз, она отлично работает. Любые идеи?
вкладки 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>
google maps javascript:
<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>