Я использую Google Maps API v3 для создания карты, размер которой можно изменять (div расширяется и сжимается с помощью переключателя jQuery). Проведя исследование, я обнаружил, что должен вызывать google.maps.event.trigger(map, 'resize'); при изменении размера карты. Я сделал это, но у меня все еще есть проблемы с обновлением плиток.
Код, который я использую,:
<script>
document.write('<a id="expandMap" href="#" target="_blank" title="Expand the map">+ expand map</a>');
/* Expand map_canvas DIV */
jQuery('#expandMap').toggle(function(){
jQuery('a#expandMap').text('- contract map');
jQuery('a#expandMap').attr('title', 'Contract the map');
jQuery('#map_canvas').animate({'height': '600px'}, 750, 'swing');
google.maps.event.trigger(map, 'resize');
}, function(){
jQuery('a#expandMap').text('+ expand map');
jQuery('a#expandMap').attr('title', 'Expand the map');
jQuery('#map_canvas').animate({'height': '193px'}, 750, 'swing');
google.maps.event.trigger(map, 'resize');
});
/* Expand map_canvas DIV End */
</script>
Может ли кто-нибудь предложить какие-либо идеи? При расширении, если вы нажмете кнопку сжатия, появится вспышка, где все плитки будут правильно видны, поэтому похоже, что событие изменения размера запускается при сжатии. В свернутом состоянии карта работает отлично; панорамирование вокруг всех плиток обновляется, как и должно быть.
Будем признательны за любую помощь!
Ура!