Próbuje wykreślić mapę używając łac LNG dla DB sqlite, ale nie może dostać moją lokalizację zanim map rysuje. UGGG!

głosy
0

Co mogę zrobić: Weź sqlite DB 100 punktów ac i LNG i upuść te szpilki na mapie. Wygląda świetnie!

Co chciałbym zrobić, to dostać moją lokalizację, PRZED rysuję moją mapę. Ale wydaje się, że:

  • (Void) locationManager: (CLLocationManager *) kierownik didUpdateToLocation: (CLLocation *) newLocation fromLocation: (CLLocation *) oldLocation

ZAWSZE odpala PO (void) viewDidLoad biegnie. Nie ważne gdzie go wstawić.

Co muszę zrobić, to mieć ekran powitalny, STOP tam aż dostaję lokalizację, używać, szer i LNG do wyszukiwania sqlite DB lokalizacji w ciągu tylu mil mnie.

Oto mój ślad:

Wprowadzanie - [RootViewController initWithTabBar]

Wprowadzanie - [RootViewController viewDidLoad]

Wprowadzanie - [RootViewController locationManager: didUpdateToLocation: fromLocation:]

A oto, co naprawdę chcą:

Wprowadzanie - [RootViewController initWithTabBar]

Wprowadzanie - [RootViewController locationManager: didUpdateToLocation: fromLocation:]

Wprowadzanie - [RootViewController viewDidLoad]

Teraz myślę (praca z TabBarController), czy jakoś muszę pchnąć tę całą drogę z powrotem do mojego delegata aplikacji? Zamrozić całą aplikację, aż dostaję lokalizację? To moje ostatnie myśli.

dzięki za wszelkie wskazówki, prowadzi, fragmenty ... !!! Szukałem przez kilka dni, nie ma szczęścia w ogóle.

dzięki!!!!

Utwórz 25/10/2009 o 17:06
źródło użytkownik
W innych językach...                            


1 odpowiedzi

głosy
1

Na pewno nie chce „zamrozić” aplikację, a ty na pewno chcesz to zrobić jak mało pracy w aplikacji delegata applicationDidFinishLaunching:metody, jak to możliwe. Co mogę polecić:

  • Mieć dwa widoki: jeden jest „prawdziwy” Widok z mapą, (przypuszczalnie) kontrolowane przez jakiegoś kontrolera widoku. Drugi jest tylko prosta „czeka” Widok z wiadomością dla użytkownika i UIActivityIndicatorViewczy coś takiego.
  • Gdy uruchamia app, obciążenia i wyświetlić widok oczekującego w oknie aplikacji, a inauguracją menedżera lokalizacji znaleźć bieżącą lokalizację użytkownika.
  • Gdy masz wystarczająco dużo informacji o lokalizacji, załadować prawdziwy pogląd, dodaj go do okna i usunąć widok oczekującego. (Może z ładną animacją cross-blaknięcie czy coś).

Można również dodać oba widoki, i po prostu przerzucić swoje hiddenwłaściwości w odpowiednim czasie. Ale chodzi o to, aby dać coś obsługi dla oka, a jednocześnie nie próbując walczyć z natury charakter asynchroniczny Core Location.

Odpowiedział 25/10/2009 o 17:24
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more