Proberen om een ​​kaart met lat, lng voor een SQLite DB plot, maar cant get mijn locatie voordat de kaart trekt. UGGG!

stemmen
0

Wat ik wel kan doen: Neem een ​​sqlite DB 100 lat en lng punten, en drop die pinnen op een kaart. Ziet er geweldig uit!

Wat ik zou willen doen is mijn plaats, voordat ik mijn kaart te trekken. Maar het lijkt erop dat:

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

ALTIJD vuurt NA off (void) viewDidLoad loopt. Waar I invoegen.

Wat ik moet doen is een splash screen, STOP daar totdat ik een locatie te krijgen, gebruik die lat en lng aan mijn sqlite DB locaties zoeken binnen zo vele mijlen van mij.

Hier mijn trace:

Het invoeren - [RootViewController initWithTabBar]

Het invoeren - [RootViewController viewDidLoad]

Het invoeren - [RootViewController locationManager: didUpdateToLocation: fromLocation:]

En hier is wat ik echt wil:

Het invoeren - [RootViewController initWithTabBar]

Het invoeren - [RootViewController locationManager: didUpdateToLocation: fromLocation:]

Het invoeren - [RootViewController viewDidLoad]

Nu ik denk (het werken met een tabBarController), hebben een of andere manier moet ik dit alles de weg terug naar mijn app delegate te duwen? Bevries de gehele app totdat ik een locatie te krijgen? Dat is mijn laatste gedachten.

dank voor alle tips, leidt, snippets ... !!! Ik ben al op zoek naar dagen, geen geluk helemaal.

bedankt!!!!

De vraag is gesteld op 25/10/2009 om 17:06
bron van user
In andere talen...                            


1 antwoorden

stemmen
1

Je wil zeker niet te "bevriezen" van de app, en u zeker wilt zo weinig werk te doen in de app delegate applicationDidFinishLaunching:methode mogelijk te maken. Wat ik zou aanraden:

  • Hebben twee weergaven: de ene is de "echte" bekijken met de kaart, (vermoedelijk) bestuurd door een view controller. De andere is gewoon een simpele "wachten" view met een bericht naar de gebruiker en een UIActivityIndicatorViewof iets dergelijks.
  • Wanneer uw app wordt gestart, laden en weer te geven het wachten weergave in het venster van uw app, en de aftrap van de locatiemanager van de huidige locatie van de gebruiker te vinden.
  • Als je genoeg informatie over de locatie hebt, laadt u de echte uitzicht, toe te voegen aan het venster, en verwijder de wachtende uitzicht. (Misschien met een mooie cross-fade animatie of iets.)

Je zou ook kunnen beide standpunten toe te voegen, en net flip hun hiddeneigenschappen op het juiste moment. Maar het punt is om de gebruiker iets om naar te kijken, terwijl het niet proberen om de inherent asynchrone aard van Core Location vechten te geven.

antwoordde op 25/10/2009 om 17:24
bron van user

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