一千萬個為什麽

搜索

如何在FLEX 3.5 TabNavigator標簽中“預加載”Google Maps API?


我有一個Flex 3.5 Air應用程序;除了標題之外,主窗口還有一個TabNavigator。在標簽中,我放了一個谷歌地圖對象。它工作正常,除了它“加載”非常慢和整個應用程序凍結(沒有響應問題)。

現在我想解決這個問題,但現在不知道如何實現以下解決方案之一: 1)在整個應用程序加載之前加載API。 2)單擊選項卡時,以某種方式加載API async。我真的不需要花哨的預加載器,這足以讓我的應用程序不會凍結。

請註意,我“110%”確定這是GoogleMaps的錯,因為標簽畫布為空,並且沒有其他代碼[雙重檢查]。另請註意,地圖僅加載,然後我調用setCenter方法,因此沒有其他操作可以凍結它。

編輯:我設法確定不是Api對象創建速度慢,而是在GUI上實際顯示它。這是代碼行。 ResellersMapClass只擴展了Google Maps API類,因為我打算添加額外的功能。但現在很幹凈。

this.map = new ResellersMapClass();
//between here
this.mapContainer.addChild( this.map  );
//and here

現在有辦法預加載嗎?或任何其他阻止GUI凍結的解決方案。

謝謝, 加布裏埃爾

最佳答案

我和雅虎有同樣的問題! map API。我最後把它放在一個模塊中並為它加載了一個ProgressBar。這應該至少有助於解決異步問題。如果問題是庫中的一個繁重的算法,那麽直到flash推出真正的多線程(交叉手指)才能解決這個問題。

轉載註明原文: 如何在FLEX 3.5 TabNavigator標簽中“預加載”Google Maps API?

猜你喜歡