2013-06-28 71 views
8

我有一個谷歌地圖容器,比方說600px的高度。谷歌地圖容器在動畫後無法正確調整大小

我有一個按鈕,調整大小(jQuery的)的DIV容器角落找尋地圖:

  $('#add').click(function() { 
       $("#container-map").animate({ 
        height: '50%', 
        minHeight: '50%' 
       }, 1500); 
       google.maps.event.trigger(map, 'resize'); 
      }); 

現在的容器和地圖是300像素高,但是谷歌地圖API認爲它仍然是600像素,因此地圖中心仍然在300像素,但它應該在150像素(300/2)。

http://woisteinebank.de/dev2.html# 當您在框中搜索某個位置時,該位置已居中。 點擊「Eintragen」並重新搜索,它沒有正確居中。

你可以嘗試驗證,甚至建議如何解決這個缺陷?

我試圖用usual solution with triggering the resize event而是因爲你觸發resize事件之前的動畫甚至開始:-)你必須等待,直到它結束它不工作

回答

6

呵呵。對於這一點,使用the 4th argument of .animate - 在complete回調這是動畫之後調用結束:

$('#add').click(function() { 
    $("#container-map").animate({ 
     height: '50%', 
     minHeight: '50%' 
    }, 1500, function() { 
      google.maps.event.trigger(map, 'resize'); 
    }); 
}); 
+0

_this是當我看着「1500」 delay..oO_ THX只是我在想什麼! – DanFromGermany

+0

不客氣:-)對不起,「哈哈」,但這就像是如果你告訴我一個笑話在JavaScript ;-)(我知道程序員的變形:-)) – TMS

+0

@DanFromGermany哇我看你已經修好了在你的網上:-) – TMS

相關問題