2011-04-25 38 views
0

我正在加载隐藏的DIV中的谷歌地图。如果我点击一个跨度,DIV就会出现。 这是我的地图代码:谷歌地图加载隐藏的DIV - 问题与checkResize();

<script type="text/javascript"> 
google.load("maps", "2.x"); 
function initialize() { 
map = new GMap2(document.getElementById("map_sm")); 
    var location = new GLatLng(50.72251, 10.44476); 
    map.setCenter(new GLatLng(50.72251, 10.44476), 13); 
    map.setUIToDefault(); 
    map.enableRotation(); 
    map.disableScrollWheelZoom(); 
    var marker = new GMarker(location); 
    map.addOverlay(marker); 
    map.checkResize(); 
} 
google.setOnLoadCallback(initialize); 
</script> 

这是我的js函数来显示地图:

<script>  
jQuery('#sm_map').click(function() { 
     jQuery('body').css({'width':'100%','height':'100%','':'hidden'}); 
     jQuery('#overlay_sm').fadeIn(); 

    }); 

    jQuery('.overlay_close').click(function() { 
       jQuery('.map_overlay').fadeOut();           
    }); 
</script> 

我在哪里需要添加checkResize()?我在很多地方尝试过,但没有结束。

提前 特里萨

+0

很可能是因为如果div是隐藏起来的,它没有适用于它的正确大小的attrs。我会做'纠正'这个,就是在左边创建div Offscreen(就像在左边:-10000)。做GMaps2功能的东西..然后将div设置为隐藏。将它放在假定的位置,然后执行淡入和淡出 – g19fanatic 2011-04-25 16:38:57

回答

0

checkResize非常感谢实际上并没有检查调整大小 - 它通知已经发生了调整地图的大小。你需要检查自己调整大小:

$(document).resize(function(){ 
    map.checkResize(); 
}); 

你知道GMaps V2已被弃用,对不对?