2013-06-28 2 views
8

Bir google harita konteynerine sahibim, 600 piksel yükseklik diyelim.Google Maps kapsayıcı, animasyondan sonra düzgün şekilde yeniden boyutlandırmıyor

Ben yeniden boyutlandırma, bir düğme (jQuery), haritanın etrafında div konteyner: Artık

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

konteyner ve harita 300px yüksekliğinde, ancak Google Maps API hala 600 piksel sanıyor, bu yüzden Haritanın merkezi hala 300 px'dir, ancak 150 px (300/2) olmalıdır.

http://woisteinebank.de/dev2.html# Kutuda bir yer ararken, ortalanır. "Eintragen" e basın ve tekrar arayın, düzgün ortalanmış değil.

Bu kusurun nasıl giderileceğini denemeyi ve hatta önermeyi deneyebilir misiniz?

Ben usual solution with triggering the resize event kullanmaya çalıştı ama sen biter kadar beklemek zorunda :-) animasyon bile başlamadan önce yeniden boyutlandırma olayını tetikler çünkü

cevap

6

Ha ha çalışmaz. Bunun için the 4th argument of .animate kullanmak - animasyon sonra denir complete geri arama sona erer:

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

_This Ben 1500 'delay..oO_ Thx baktığımda düşünüyordum sadece ne olduğunu! – DanFromGermany

+0

Bir şey var, "ha ha" için özür dilerim ama eğer javascript ;-)'de bir şaka söylerseniz budur ;-) (Programlayıcının deformasyonunu biliyorum :-)) – TMS

+0

@DanFromGermany vay zaten gördüğünüzü gördüm senin web de :-) – TMS