2012-06-06 123 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