iPhone SDK: GPS kullanarak Parça kullanıcıları konum

oy
2

Ben CoreLocation ve GPS hakkında bir kaç soru var.

İlk olarak, çekirdek bir konumda hangi yöntemi sürekli kullanıcıları güncel koordinatları almak için kullanılır? Ve hangi aralıkta bu alınabilmesi gerekir?

koordinatların dizisi kullanıcıları yolunu temsil edecek şekilde İkincisi, bu koordinatlar, bir NSMutableArray içine alındıkları her zaman itti edilmelidir?

Teşekkürler, sadece bana bu sorunu akla alma başlamak isteyen.

Oluştur 19/05/2010 saat 15:15
kaynak kullanıcı
Diğer dillerde...                            


4 cevaplar

oy
11

Çok kısaltılmış versiyon:

İlk olarak, kabul <CLLocationManagerDelegate>senin .h protokol ve #import <CoreLocation/CoreLocation.h>.

Sonra .m seferde:

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

Kişisel -(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocationyöntem Çekirdek Yer birkaç saniyede gerçekleşmesi gereken, size söyleyecekleri var her zaman ping alacak. Bu CLLocation nesneleri doğruluğu hakkında bilgi içerirler, bu nedenle bu yöntemde iyi puan için taranabilir.

Çağırmak için emin olun [locationManager stopUpdatingLocation]ve sonra [locationManager release]bir noktada!

Kendini bulgu iyi şanslar!

Cevap 19/05/2010 saat 16:27
kaynak kullanıcı

oy
1

Aşağıdakileri yapmak zorunda kalacaktır:

  1. Cihaz internete erişemiyorsanız
    1. GPS cihazından koordinatlarını alın
    2. SMS yoluyla bu koordinatlarını gönder
    3. Alma ve cihazdan bilgi almak yapılandırmak zorunda SMS ağ geçidinde SMS mesajı deşifre.
    4. Kullandığınız uygulama veritabanı veya başka bir mağaza hakkında bilgi güncelleme
    5. Son bilgileri alarak harita üzerinde konumunu güncelleyin
  2. Cihaz internete Eğer
    1. GPS cihazından koordinatlarını alın
    2. uygulama sunucusuna bağlanın (bazı servis olabilir) ve bilgi yüklemek
    3. Kullandığınız uygulama veritabanı veya başka bir mağaza hakkında bilgi güncelleme
    4. Son bilgileri alarak harita üzerinde konumunu güncelleyin
Cevap 30/08/2012 saat 14:02
kaynak kullanıcı

oy
1

Doğruluk açısından kabul edilebilir yanı otomatik güncellemelerini almak istediğiniz ne sıklıkta (son nokta mekanizmasından bir mesafeye göre) ne aralığı tanımlamak mümkün. Ayrıca sadece konum yöneticisini devre dışı bırakabilir ve bir zamanlayıcı bazı kullanım aracılığıyla istediği zaman tekrar açın.

Bir yol, onun kadar basit değil inşa etmek konumları kaydetme gelince. Sen sürekli istenilen doğruluk elde edilene ilk kadar en GPS konumları alacak ve gelecekte herhangi bir puan için size iyi bir konuma ulaşmadan yanlış birden fazla alabilirsiniz. Yani temelde sadece ekstra puan çok birlikte onların yolunun bir liste olacak bu noktaların bir listesini oluşturmaya. Bu konuda its kusurlu dünyayı arzu doğruluğunu tek bu noktaları kaydederek bu çözmek ama olabilir.

En iyi durumda ben iki liste tutmak öneririm, bir yoldur ve diğer daha sonra da yol listesinde bu koyarak, son derece doğru bir konum elde edene kadar, farkların istatistiksel yerlerin çalışan bir listesidir. örnek projelerin bazıları onları kontrol yok, bu doğrultuda şeyler yaparlar.

Cevap 19/05/2010 saat 16:15
kaynak kullanıcı

oy
1

En iyi yolu okunur için CLLocationManager sınıfı başvurusu birkaç örnek projelerine bağlar. Kısa versiyon:

  1. Set delegatekonum güncellemesi alacağı bir sınıfa özelliği.
  2. Uygulamak CLLocationManagerDelegatetemsilci protokolü.
  3. konum ve / veya başlığı güncellemeye başlamak için appopriate yöntemlerini arayın.
Cevap 19/05/2010 saat 15:24
kaynak kullanıcı

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