gmaps с fancybox не отображаются должным образом во второй раз

Я испытываю действительно странное поведение и не могу понять, почему... У меня есть ссылка на место, которое я вызываю с помощью fancybox:

  $(".location_modal").fancybox();  

Код для отображения местоположения выглядит так:

<div class="event_identifier">
  <div id="map_canvas" style="width:960px;height:500px;"></div>
</div>
<script type="text/javascript" charset="utf-8">
  $(document).ready(function() {
    $("#map_canvas").gmap3();
  });
</script>

Когда я впервые нажимаю на ссылку, она отлично загружается: http://cl.ly/3X1h1j031W0S0b0t1A3K После закрытия fancybox и снова нажимаю на ту же ссылку, я получаю следующее: http://cl.ly/2J1B2G3W1L1i3i033v1X. Холст карты имеет тот же размер, но сама карта не отображается должным образом.

Я попробовал это без fancybox, и, похоже, это работает хорошо, поэтому я думаю, что это может быть своего рода конфликт. Я использую последнюю версию gmap3 (3.3), jquery 1.5.2 и fancybox 1.3.4.

Спасибо!


person hb922    schedule 24.06.2011    source источник


Ответы (1)


Карты Google, вероятно, смущаются тем фактом, что они создают и настраивают себя, а затем удаляют их, и когда они воссоздаются, они думают, что им не нужно заново создавать себя из-за того, что переменные все еще находятся в памяти.

Вместо этого попробуйте, как это делают многие люди, поместить карту в отдельный iFrame.

person Craig White    schedule 24.06.2011