2010-05-06 46 views
2

我有一個Flex 3.5 Air應用程序;除了標題之外,主窗口還有一個TabNavigator。在一個標籤中,我放置了一個Google Maps對象。它工作正常,但它「加載」非常緩慢,整個應用程序凍結(沒有響應的問題)。如何在FLEX 3.5 TabNavigator選項卡中「預加載」Google Maps API?

現在我想解決這個問題,但現在不是真的如何實現這些解決方案之一: 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凍結的解決方案。

感謝, 加布裏埃爾

+0

我不確定你的意思是API加載緩慢。你能詳細解釋一下嗎?它加載多久?項目如何建立?也許你可以給我們看一些代碼? – ilikeorangutans 2010-05-07 00:42:25

+0

是的,你是對的。不是API正在加載緩慢的API調用。沒有什麼可展示的。我只是添加了Google地圖的MXML代碼,如API示例頁面所示(填寫我的密鑰,就是這樣)。我只是希望有一種異步方法來「加載」一個通用對象,這種方法不會凍結整個應用程序。請不要誤會我的意思,我對代碼或其他東西沒有偏執,只是我99%確定這是一個普通的GMaps問題。 – 2010-05-10 09:50:55

+0

有沒有解決方案? – Immanuel 2010-05-31 11:42:01

回答

0

我曾與雅虎相同的問題地圖API。最後,我把它放在一個模塊中,併爲它加載了一個ProgressBar。至少應該幫助解決異步問題。如果問題在庫中是一個繁重的算法,那麼除非Flash推出真正的多線程(十字指),否則沒有辦法。

相關問題