iPhone SDK: Track uživatele polohu pomocí GPS

hlasů
2

Mám několik otázek týkajících se CoreLocation a GPS.

Za prvé, jaké metody v místě jádra se používá k neustále dostat uživatelům aktuální souřadnice? A na co interval by měly být tyto vyvolány?

Za druhé, měli tyto souřadnice se tlačil do NSMutableArray pokaždé, když jsou přijaty, takže pole souřadnic bude představovat cestu uživatelů?

Díky, jen chtějí, aby se začal dostávat mi nevadilo vyřešit tento problém.

Položena 19/05/2010 v 15:15
zdroj uživatelem
V jiných jazycích...                            


4 odpovědí

hlasů
11

Velmi zkrácená verze:

Za prvé, přijmout <CLLocationManagerDelegate>protokol ve svém .h, a #import <CoreLocation/CoreLocation.h>.

Pak v .so cestách:

- (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);
}

Vaše -(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocationmetoda dostane ping pokaždé, když jádro Místo má co říci k tobě, což by se mělo stát jednou za několik sekund. tyto CLLocation objekty obsahují informace o přesnosti, takže můžete obrazovku pro dobré body v této metodě.

Ujistěte se, že volat [locationManager stopUpdatingLocation]a pak [locationManager release]v určitém okamžiku!

Hodně štěstí při hledání sebe!

Odpovězeno 19/05/2010 v 16:27
zdroj uživatelem

hlasů
1

Budete muset provést následující kroky:

  1. Pokud přístroj nemůže získat přístup k internetu
    1. Získat souřadnic z GPS zařízení
    2. Odeslat tyto koordináty pomocí SMS
    3. Přijímat a dekódovat SMS zprávy na SMS brány nutné konfigurovat pro příjem informace z přístroje.
    4. Aktualizovat informace v databázi aplikace nebo jakéhokoli jiného obchodu, který používáte
    5. Aktualizaci polohy na mapě s nejnovějšími informacemi
  2. Pokud zařízení mají přístup k internetu
    1. Získat souřadnic z GPS zařízení
    2. Připojit k aplikačnímu serveru (mohou být některé služby) a nahrát údaje
    3. Aktualizovat informace v databázi aplikace nebo jakéhokoli jiného obchodu, který používáte
    4. Aktualizaci polohy na mapě s nejnovějšími informacemi
Odpovězeno 30/08/2012 v 14:02
zdroj uživatelem

hlasů
1

Jste schopni definovat, co je přijatelné rozmezí pro přesnost a jak často chcete dostávat automatické aktualizace (na základě vzdálenosti od posledního bodu mechanismu). Také si můžete prostě vypnout správce umístění a znovu ji na přání přes určité použití časovače.

Pokud jde o úsporu místa postavit cestu, to není tak jednoduché. Budete neustále dostat umístění GPS na prvním místě, dokud není dosaženo požadované přesnosti a pro všechny body v budoucnu může získat více než jednu, která není přesná, než se dostanete na dobré umístění. Takže sestavením seznamu těchto bodů bude v podstatě jen být seznam jejich cestě, spolu s mnoha extra body. Dalo by se to vyřešit uložením pouze ty body, které mají přesnost si přejete, ale jeho nedokonalém světě v tomto ohledu.

V nejlepším případě Navrhoval bych si udržet dva seznamy, jeden je cesta a druhá je průběžný seznam míst, kde jste porovnání, až se dostanete velmi přesné umístění, pak uvedení aby se na seznamu cest. Některé z příkladů projektů dělat věci v tomto směru, se na ně podívejte.

Odpovězeno 19/05/2010 v 16:15
zdroj uživatelem

hlasů
1

Nejlepší způsob, jak je číst CLLocationManager Referenční třída , která spojuje několik například projekty. Krátká verze:

  1. Nastavte delegatevlastnost třídy, která bude přijímat informace o poloze.
  2. Implementovat CLLocationManagerDelegateprotokol v delegáta.
  3. Volat appopriate metody začít aktualizaci polohy a / nebo směr.
Odpovězeno 19/05/2010 v 15:24
zdroj uživatelem

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