2010-05-06 1 views
2

У меня есть приложение Flex 3.5 Air; Главное окно содержит, помимо заголовка, TabNavigator. В вкладке я разместил объект Google Maps. Он работает отлично, за исключением того, что он «загружается» очень медленно, и все приложение зависает (не реагирует на проблему).Как я могу предварительно загрузить API Google Maps на вкладке TabNavigator FLEX 3.5?

Теперь я хотел бы исправить это, но не знаю, как реализовать одно из этих решений: 1) Загрузите API до загрузки всего приложения. 2) Загрузите API как-то async, когда нажимается вкладка. Мне действительно не нужен модный предварительный загрузчик, достаточно, чтобы мое приложение не зависало.

Обратите внимание, что я «110%» уверен, что это ошибка GoogleMaps, так как холст вкладки пуст, и никакой другой код не существует [double checked this]. Также обратите внимание, что карта загружается только, а затем я вызываю метод setCenter, поэтому никаких других операций, которые могли бы его заморозить.

EDIT: Мне удалось определить, что не создание объекта Api медленное, а фактическое отображение его в графическом интерфейсе. Вот строка кода. РеселлерыMapClass расширяет класс API Карт Google, так как я намерен добавить туда дополнительные функции. Но сейчас чисто.

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

Теперь есть способ предустановить это? Или любое другое решение, которое предотвратит замораживание GUI.

Спасибо, Gabriel

+0

Я не уверен, что вы подразумеваете под API, медленно загружается. Не могли бы вы немного рассказать об этом? Сколько времени он загружается? Как создается проект? Может быть, вы могли бы показать нам какой-то код? – ilikeorangutans

+0

Да, вы правы. Не API медленно загружается, вызов API. Там действительно ничего не показывать. Я просто добавляю код MXML для Карт Google, как показано на страницах примеров API (заполните мой ключ и все). Я просто надеялся, что существует асинхронный метод «загрузить» общий объект, метод, который не будет заморожать все приложение. Пожалуйста, не поймите меня неправильно, я не параноик о моем коде или что-то в этом роде, просто я на 99% уверен, что это общая проблема с GMaps. –

+0

Было ли решение для этого? – Immanuel

ответ

0

У меня была такая же проблема с Yahoo! API карты. Я закончил тем, что просто сбросил его в модуль и дал ему ProgressBar для загрузки. Это должно помочь, по крайней мере, в асинхронных проблемах. Если проблема представляет собой тяжелый алгоритм в библиотеке, нет никакого способа обойти это до тех пор, пока флэш не вывернет истинную многопоточность (пересекает пальцы).

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

  • Нет связанных вопросов^_^