Cercando di tracciare una mappa utilizzando lat, lng per un DB SQLite, ma CANT ottenere la mia posizione prima che la mappa disegna. Uggg!

voti
0

Che cosa posso fare: prendere un DB SQLite di 100 punti lat e GNL, e rilasciare i perni su una mappa. Sembra fantastico!

Quello che vorrei fare è ottenere la mia posizione, Prima di giungere la mia mappa. Ma sembra che:

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

spara sempre spento DOPO (void) viewDidLoad corre. Non importa dove lo inserisco.

Che cosa devo fare è avere una schermata iniziale, si fermano qui fino a ottenere una posizione, l'uso che LAT e lng per cercare il mio SQLite DB di posizioni all'interno di tante miglia di me.

Qui la mia traccia:

Entrando - [RootViewController initWithTabBar]

Entrando - [RootViewController viewDidLoad]

Entrando - [RootViewController locationManager: didUpdateToLocation: fromLocation:]

Ed ecco cosa voglio veramente:

Entrando - [RootViewController initWithTabBar]

Entrando - [RootViewController locationManager: didUpdateToLocation: fromLocation:]

Entrando - [RootViewController viewDidLoad]

Ora sto pensando (lavorando con un tabbarcontroller), non in qualche modo devo spingere questo tutto il viaggio di ritorno a mia app delegato? Congelare l'intera applicazione fino a ottenere una posizione? Ecco i miei ultimi pensieri.

Grazie per eventuali suggerimenti, conduce, frammenti ... !!! Ho cercato per giorni, senza fortuna a tutti.

Grazie!!!!

È pubblicato 25/10/2009 alle 17:06
fonte dall'utente
In altre lingue...                            


1 risposte

voti
1

Lei sicuramente non si vuole "congelare" l'applicazione, e sicuramente vuole fare come po 'di lavoro nella vostra applicazione del delegato applicationDidFinishLaunching:metodo possibile. Quello che posso raccomandare:

  • Avere due punti di vista: uno è la vista "reale" con la mappa, (presumibilmente) controllata da alcuni controller della vista. L'altro è solo un semplice "attesa" vista con un messaggio per l'utente e di una UIActivityIndicatorView, o qualcosa di simile.
  • Quando la vostra lancia app, caricare e visualizzare la vista di attesa nella finestra della tua app, e dare il via alla location manager per trovare la posizione corrente dell'utente.
  • Quando hai abbastanza informazioni sulla posizione, caricare la visualizzazione vera e propria, aggiungerlo alla finestra, e rimuovere la vista di attesa. (Magari con una bella animazione dissolvenza incrociata o qualcosa del genere.)

Si potrebbe anche aggiungere entrambe le viste, e basta capovolgere le loro hiddenproprietà al momento giusto. Ma il punto è quello di dare all'utente qualcosa da guardare, pur non cercando di combattere la natura intrinsecamente asincrona di Core Location.

Risposto il 25/10/2009 a 17:24
fonte dall'utente

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