2010-11-22 25 views
2

en doğru konum elde etmek nasıl GPS kullanarak benim konum bilgisini almak için bu koduAndroid: GPS

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 
       500, 50, this); 

kullandık. Anladığım kadarıyla, bu kod yaklaşık 50 ms'lik bir hassasiyet elde edene kadar GPS'yi her 500 milisaniyede bir güncellemektedir. Sağ? Şimdi bu doğruluğu ne zaman başardığını nasıl bilebilirim? Böylece bir metin mesajında ​​en doğru yeri gönderebilirim.

cevap

4

500, bildirim için minimum ara değerdir ve sadece bir ipucudır.

olarak javadocs görülebilir: bildirimler için

minimum zaman aralığı milisaniye cinsinden. Bu alan sadece güç tasarrufu için bir ipucu olarak kullanılır ve konum güncellemeleri arasındaki gerçek zaman bu değerden daha büyük veya daha küçük olabilir. Yani (ve olacak) Bu süre varyasyonları (bkz LocationListener daima tam 500 ms aralığı ile çağrılacak olmaz) olabilir

50 minDistance ve olduğu docs göre: minimum mesafe aralığını bildirimleri için, metre cinsinden. Yani bu, doğruluğu etkilemez, yalnızca konum güncellemeleri için tetikleyiciyi tanımlar. (Eğer minDistance'ı hareket ettirirseniz, o zaman bir tetikleyici oluşur). Bu, doğruluğu etkilemez.

Ancak, locationlistener bir android.location.Location dönecektir ve bu da doğruluğu (metre cinsinden düzeltme doğruluğunu)

+0

Yani onu olsun günceller kaç kez aslında doesnt diyorsun ortaya çıkarır? –

+0

Aralıklar ne kadar kısa olursa, alacağınız konum güncellemeleri de o kadar fazla olur. Bu konum güncellemelerinin dışında, en doğru olanı seçebilirsiniz. Bazı yaygın kullanım durumları için http://developer.android.com/guide/topics/location/obtaining-user-location.html adresine bakın. Ayrıca, bu alanda test etmenizi öneririm, çünkü emülatör sınırlı GPS konum güncellemeleri simüle ve her zaman gerçek dünyadaki durumları yansıtmaz. Ayrıca, pil ömrünü de hesaba katarak, GPS'in sürekli olarak konumlandırılmasını sağlayarak, pilin boşalmasına neden olabilecek konum güncellemeleri istendiğinde. – ddewaele

+0

tamam teşekkürler. Yani bir soru daha :) Ben bir kez konumu almak ve bir sms metin mesajı göndermek istiyorum. Herhangi bir değişiklik yapmalı mıyım? SMS'nin yalnızca konumun alınmasından sonra gönderildiğinden nasıl emin olabilirim? –

İlgili konular