2012-06-06 46 views
1

我使用goMap jQuery插件来显示我的地图,并希望隐藏地图并单击显示它。但是,地图显示不正确。GoMap - 隐藏div中的显示地图

在另一个线程中,我发现我需要触发google.maps.event.trigger(map, 'resize');刷新地图,但由于某种原因,这在我的代码中不起作用。

任何人都可以帮助我吗?由于

<a class="showmap" href="#">Show map</a> 
<div id="map" style="height: 400px; width: 400px;"> </div> 

<script type="text/javascript"> 
$(function() { 
    $("#map").goMap({ 
     latitude: 56.948813, 
     longitude: 24.104004, 
     zoom: 6 
    }); 
}); 

$(document).ready(function() { 
    $("#map").hide(); 
    $('.showmap').click(function() { 
     $("#map").slideToggle(); 
     google.maps.event.trigger($.goMap.mapId, 'resize'); 
    }); 
}); 
</script> 

回答

4

您需要使用

google.maps.event.trigger($.goMap.map, 'resize');

我认为你需要触发包含地图的DIV完全显露之后调整。

$('#map').slideToggle('slow', function() { 
    google.maps.event.trigger($.goMap.map, 'resize'); 
}); 
+0

谢谢,这个作品像一个魅力! – user1049961

+0

然后将其标记为答案:) – Rahul

+0

很好的问题,以及很好的答案。它还可以解决标签中的谷歌地图。例如。我已成功使用google.maps.event.trigger($。goMap.map,'resize');在标签内容的onSwitch回调https://github.com/elboletaire/tabbedcontent(我喜欢使用这个插件来制作标签,而不是加载较重的jQuery UI) – bluantinoo