2013-04-05 3 views
0

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

Есть ли способ заставить функцию запускаться автоматически при загрузке вкладки? Это функция.

  mapResize = function() { 
       var mapFirstClick = false; 
       var center = new google.maps.LatLng(32.565243, -97.130531); 
       $("#tabs-4").click(function() { 
        mapFirstClick || setTimeout(function() { 
         google.maps.event.trigger(map, 'resize'); 
         mapFirstClick = true; 
         map.setCenter(center); 
        }, 250); 
       }); 
      }, 

Вы можете увидеть, как он действует на http://l2technotes.dyndns.org, нажав на вкладке Расположение, карта не загружается правильно, но если вы нажмете на карте она изменяет размер и центрирует правильно, который говорит мне щелчок функция работает.

Как всегда, любое руководство будет принята с благодарностью.

ответ

0

Прежде всего: вы используете jqueryUI 1.10. Большинство ресурсов, которые вы найдете в Интернете, относятся к 1.8, но произошли некоторые существенные изменения, например. в 1,10 больше нет шоу-событие, используйте вместо activate:

$('#tabs').tabs({ 
     activate: function (event, ui) { 
        if (ui.newPanel.attr('id') =='tabs-4') { 
         ui.newPanel.click(); 
        } 
        } 
    }); 

Документация 1.10 вы найдете здесь: http://api.jqueryui.com/1.10/tabs/

+0

Это абсолютно блестящий. Благодарим вас за код и указали изменения в документации. Я новичок в jquery, и этот проект носит образовательный и расстраивающий характер. – JoeHughes

Смежные вопросы