Rob*_*Rob 10 html javascript maps hidden
我有一个带有两个标签的页面.第一个标签有照片,第二个是谷歌地图.问题是谷歌地图没有完全绘制,因为它是隐藏的div.所以我使用onclick()将initialize()函数移动到地图选项卡的href.这是第一次单击它时有效但当您返回到照片选项卡然后返回到地图选项卡时,地图仅部分绘制.如果您第二次单击地图选项卡它可以完美地工作.有任何想法吗?
标签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:
<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>
Dou*_*eux 14
在你需要调整地图大小之前我已经看过了:
google.maps.event.trigger(map, 'resize');
map.setZoom( map.getZoom() );
这适用于V3:
http://code.google.com/p/gmaps-api-issues/issues/detail?id=1448
更多信息: