2013-06-28 15 views
8

Googleマップのコンテナがあります。アニメーション後にGoogleマップのコンテナのサイズが正しく変更されない

私はマップarroundの(jQueryの)のdivコンテナのサイズを変更し、ボタンを持っている:

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

は今、コンテナとマップが300ピクセルの高さであるが、Google Maps APIが、それはまだ600ピクセルだと思っので、地図の中心は300 pxですが、150 px(300/2)にする必要があります。

ボックス内の場所を検索すると、中央に表示されます。 "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

関連する問題