Я использую новый v3 API Карт Google.По сути, у меня проблема в том, что у меня есть Google Map во вкладках пользовательского интерфейса jQuery.Карта не находится на первой вкладке, поэтому вы должны щелкнуть по вкладке, чтобы просмотреть карту, но она не всегда отображается правильно.Т.е. иногда изображения карты размещаются неправильно.
У меня была эта проблема, когда я использовал v2 API, но мне удалось решить проблему, инициализировав мою Карту следующим образом:
map = new GMap2(document.getElementById("map"),{size:new GSize(500,340)});
К сожалению, это не работает в v3.Я посмотрел на предложения в этой теме: Проблемы с Google Maps API v3 + jQuery UI Tabs
У меня ничего не получалось, но я использовал один из обходных путей, который я инициализировалфункция карты при загрузке вкладки:
$(function()
{
$("#tabs-container").tabs({show: function(event, ui)
{
if(ui.panel.id == "viewmap")
{
mapiInitialize();
}
}});
});
Это все хорошо, но я предпочитаю, чтобы карта была "там", когда пользователь нажимает на вкладку.Иногда загрузка карты занимает несколько секунд, и все, что видит пользователь за это время, это простой серый фон - какой-то индикатор загрузки мог бы помочь.
Так есть ли у кого-нибудь какие-либо предложения?Моя разметка и CSS выглядит следующим образом:
<div id="tabs-container">
<ul>
<li><a href="#details"><span>Details</span></a></li>
<li><a href="#viewmap"><span>Location Map</span></a></li>
<li><a href="#reviews"><span>Reviews (<?php echo $numrows; ?>)</span></a></li>
</ul>
<div id="details"><?php echo $details; ?></div>
<div id="viewmap" style="padding: 10px; border: 1px solid #A9A9A9;">
<div id="map" style="height: 340px;"></div>
</div>
<div id="reviews"><?php echo $reviews; ?></div>
</div><!-- end tab-container -->