Карты Google в скрытом div

У меня есть страница с двумя вкладками. На первой вкладке есть фотографии, а на второй - карта Google. Проблема в том, что карта Google не полностью рисует, потому что он находится в скрытом div. Поэтому я переместил функцию initialize () в href вкладки карты с помощью onclick (). Это сработает при первом нажатии на нее, но когда вы вернетесь к фотографиям t ab, а затем вернитесь на вкладку карты, которую карта рисует только частично. Если щелкнуть вкладку карты второй раз, все работает отлично. Есть идеи?

вкладки 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>
10
задан Rob 16 August 2011 в 20:10
поделиться