Я использую 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>
Может кто-нибудь предложить какие-нибудь идеи?При раскрытии, если вы щелкнете по кнопке контракта, появится вспышка, в которой все плитки будут правильно видны, поэтому создается впечатление, что событие изменения размера вызывается при заключении контракта.В контрактном состоянии карта работает отлично;панорамирование вокруг всех плиток обновляется, как и должно.
Очень ценю любую помощь с этим!
Приветствия!