【问题标题】:Google Maps Loaded in a hidden DIV - problem with checkResize();谷歌地图加载在一个隐藏的 DIV 中 - checkResize() 的问题;
【发布时间】:2011-08-12 10:25:28
【问题描述】:

我正在一个隐藏的 DIV 中加载谷歌地图。如果我单击一个跨度,则会显示 DIV。 这是我的地图代码:

<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() ?我在很多地方都试过了,但都没有成功。

非常感谢提前 特蕾莎

【问题讨论】:

  • 有可能如果 div 一开始就被隐藏,则它没有应用适当的大小属性。我要“纠正”这一点,是在左侧创建 div Offscreen(如左侧:-10000)。做 GMaps2 功能的东西.. 然后将 div 设置为隐藏。把它放在它应该在的地方,然后做fadeIn和fadeOut

标签: jquery google-maps


【解决方案1】:

checkResize 实际上并不检查调整大小 - 它通知地图发生了调整大小。您需要自己检查调整大小:

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

您知道 GMaps V2 已被弃用,对吧?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-17
    相关资源
    最近更新 更多