iPhone SDK: utlizator locația prin GPS

voturi
2

Am câteva întrebări despre CoreLocation și GPS.

În primul rând, ce metodă în miez de locație este utilizat pentru a obține în mod continuu utilizatorilor coordonatele curente? Și la ce interval ar trebui acestea să fie recuperate?

În al doilea rând, ar trebui să fie aceste coordonate împins într-o NSMutableArray de fiecare dată când sunt primite, astfel încât matrice de coordonate va reprezenta calea de utilizatori?

Multumesc, doresc doar pentru a început să mă băgați în seamă în jurul valorii de acest lucru.

Întrebat 19/05/2010 la 15:15
sursa de către utilizator
În alte limbi...                            


4 răspunsuri

voturi
11

O versiune foarte prescurtată:

În primul rând, să adopte <CLLocationManagerDelegate>protocolul în .h dumneavoastră, și #import <CoreLocation/CoreLocation.h>.

Apoi, în du-te .m:

- (void)viewDidLoad {
    locationManager = [[CLLocationManager alloc] init];
    locationManager.delegate = self;
    locationManager.desiredAccuracy = kCLLocationAccuracyBest;
    [locationManager startUpdatingLocation];
}


-(void)locationManager:(CLLocationManager *)manager
   didUpdateToLocation:(CLLocation *)newLocation
          fromLocation:(CLLocation *)oldLocation
{
    CLLocationCoordinate2D here =  newLocation.coordinate;
    NSLog(@"%f  %f ", here.latitude, here.longitude);
}

Dvs. -(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocationmetodă va primi apelată de fiecare dată Core Locul de amplasare are ceva de spus, lucru care ar trebui să se întâmple la fiecare câteva secunde. aceste obiecte CLLocation contin informatii despre precizie, astfel încât să puteți ecran pentru punctele bune în această metodă.

Asigurați - vă că pentru a apela [locationManager stopUpdatingLocation]apoi [locationManager release]la un moment dat!

Mult noroc constatare-te!

Publicat 19/05/2010 la 16:27
sursa de către utilizator

voturi
1

Va trebui să faceți următoarele:

  1. Dacă dispozitivul nu poate avea acces la internet
    1. Obțineți coordonatele de dispozitiv GPS
    2. Trimite aceste coordonate prin SMS
    3. Primirea și decodifica mesajul SMS la poarta de acces SMS trebuie să configurați pentru a primi informații de la dispozitiv.
    4. Actualizați informațiile privind baza de date cerere sau orice alt magazin pe care îl utilizați
    5. Actualizați poziția pe hartă cu cele mai recente informatii
  2. Dacă dispozitivul poate avea acces la internet
    1. Obțineți coordonatele de dispozitiv GPS
    2. Conectarea la serverul de aplicații (poate fi unele servicii) și încărcați informații
    3. Actualizați informațiile privind baza de date cerere sau orice alt magazin pe care îl utilizați
    4. Actualizați poziția pe hartă cu cele mai recente informatii
Publicat 30/08/2012 la 14:02
sursa de către utilizator

voturi
1

Aveți posibilitatea de a defini ceea ce interval este acceptabil pentru precizie, precum și cât de des doriți să primiți actualizări automate (bazat pe o distanta de la punctul mecanism de ultima). De asemenea, puteți activa chiar lângă managerul de locație și porniți-l din nou la voință prin unele utilizarea unui cronometru.

În ceea ce privește salvarea locații pentru a construi o cale, sa nu atât de simplu. Veți primi continuu locații GPS la început până când se obține precizia dorită, și pentru orice puncte în viitor, s-ar putea obține mai mult de unul care este inexactă înainte de a obține o locație bună. Deci, construirea unei liste a acestor puncte, practic, va fi doar o listă de calea lor, împreună cu o mulțime de puncte suplimentare. Ai putea rezolva acest lucru salvând numai acele puncte care au precizia care le doriti, dar ei o lume imperfectă în acest sens.

Cel mai bun caz, aș sugera să păstrați două liste, una este calea, iar celălalt este o listă care rulează de locații în care se compară până când veți obține o locație extrem de precisă, apoi pune că pe lista ta cale. Unele dintre exemple de proiecte fac lucruri de-a lungul acestor linii, le verifica afară.

Publicat 19/05/2010 la 16:15
sursa de către utilizator

voturi
1

Cel mai bun mod de a se citi clasa Reference CLLocationManager , care face legătura cu mai multe exemple de proiecte. Versiunea scurtă:

  1. Setați delegateproprietatea unei clase care vor primi actualizări de locație.
  2. Punerea în aplicare a CLLocationManagerDelegateprotocolului în delegatului.
  3. Apelați metodele appopriate pentru a începe actualizarea locației și / sau poziție.
Publicat 19/05/2010 la 15:24
sursa de către utilizator

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