Я использую Google Maps API v3, который отображается на вкладке пользовательского интерфейса jQuery.Я изо всех сил пытался заставить мою карту Google изменить размер правильно, когда выбрана вкладка, отображающая карту.Документация jQuery здесь http://docs.jquery.com/UI/Tabs предусматривает, что:
Для карт Google вы также можете изменить размер карты, когда вкладка будет отображаться так:
$('#example').bind('tabsshow', function(event, ui) {
if (ui.panel.id == "map-tab") {
resizeMap();
}
});
Независимо от того, что я пытаюсь, приведенный выше код не будет работать для меня.
Следующий код работает, поскольку он отображает предупреждение, когда я выбираю вкладку 9. По этой причине я знаю, что по крайней мере я правильно изолирую правое событие триггера.Вот код:
$(function() {
$( "#tabs" ).bind( "tabsselect", function(event, ui) {
if (ui.panel.id == "tabs-9") {
alert("Alert is working");
}
});
});
Когда я изменяю этот код, чтобы включить рекомендуемый resizeMap ();Команда, это не работает.Вместо этого он добавляет символы "# tabs-9" в конец URL, а затем даже не выбирает правильную вкладку 9. Я даже не вижу вкладку 9, когда использую этот код:
$(function() {
$( "#tabs" ).bind( "tabsselect", function(event, ui) {
if (ui.panel.id == "tabs-9") {
resizeMap();
}
});
});
Наконец, когда я изменяю код для включения другой команды изменения размера "google.maps.event.trigger (map, 'resize');", он все равно не работает.Вместо этого он позволяет мне выбрать правильную вкладку 9 и не добавляет символы в конец URL-адреса, как в случае выше, но не меняет размер карты.Карта по-прежнему отображается только частично и имеет серые полосы справа.Вот код:
$(function() {
$( "#tabs" ).bind( "tabsselect", function(event, ui) {
if (ui.panel.id == "tabs-9") {
google.maps.event.trigger(map, 'resize');
}
});
});
Есть идеи, что я могу попробовать дальше?Я в тупике.Спасибо.