2012-02-28 27 views
1

你可以在這裏看看,請點擊BEKIJK TO SEE THE MAPhttp://imiodrag.dyndns.org:8080/club023/ligging/谷歌地圖沒有全尺寸顯示爲容器

JS:

var myOptions = { 
     center: new google.maps.LatLng(-34.397, 150.644), 
     zoom: 8, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 
    var map = new google.maps.Map(document.getElementById("map_canvas"),myOptions); 

$('.show-map').click(function(){ 
    $('.ligging-ar').toggle(); 
    $('.to-hide').fadeToggle("fast",function(){ 
     $('#map_canvas').fadeToggle(); 
    }); 
}); 

// LE

$('.show-map').click(function(){ 
    $('.ligging-ar').toggle(); 
    google.maps.event.trigger(map, "resize"); 
    $('.to-hide').fadeToggle("fast",function(){ 
     $('#map_canvas').fadeToggle(); 
    }); 
+0

損壞的鏈接2015年12月8日 – 2015-08-12 13:16:51

回答

1

谷歌地圖如果在頁面呈現時隱藏地圖的元素被隱藏,或者實際上元素被調整大小,則常常會遇到問題。

您應該能夠通過在使地圖可見之後調用resizeMap();來解決此問題。

如果您使用的是谷歌地圖API的V3則使用以下

google.maps.event.trigger(map, "resize");

+0

我想這已經但不起作用在我的帖子中查看我是如何更新我的代碼的 – Uffo 2012-02-28 14:18:19

3

這是因爲JavaScript的改變元素的可見性。

這應該工作:

google.maps.event.trigger(map, 'resize'); 
+0

我已經嘗試了這一點,但無法在我的帖子中查找我如何更新我的代碼 – Uffo 2012-02-28 14:18:08

+2

觸發器必須在可見性更改後調用 – 2012-02-28 14:19:53

1

我有新的API類似的問題。如果我看到它,你應該在切換你的mapcanvas後調用resizeMap()函數。 請試試這個:

$('.show-map').click(function(){ 
    $('.ligging-ar').toggle();  
    $('.to-hide').fadeToggle("fast",function(){ 
     $('#map_canvas').fadeToggle(); 
    }); 
    google.maps.event.trigger(map, "resize"); 
}); 
0

奏效是這樣,放置大小調整方法上callback..in的淡出解決辦法:

$('.show-map').click(function(){ 
    $('.ligging-ar').toggle(); 
    $('.to-hide').fadeToggle("fast",function(){ 
     $('#map_canvas').fadeToggle(); 
     google.maps.event.trigger(map, "resize"); 
    });