2010-11-22 4 views
2

에서 가장 정확한 위치를 얻을 방법은 GPS를 사용하여 내 위치를 얻기 위해이 코드안드로이드 : GPS

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

을 사용했다. 내가 이해 한 바에 따르면이 코드는 정확도가 약 50ms가 될 때까지 GPS를 500 밀리 초마다 업데이트합니다. 권리? 이제 내가이 정확성을 언제 달성했는지 어떻게 알 수 있습니까? 그래서 가장 정확한 위치를 문자 메시지로 보낼 수 있습니다.

답변

4

500은 알림의 최소 간격이며 힌트 일뿐입니다.

으로는 javadocs에서 볼 수있다 : 알림

최소 시간 간격 (밀리 초)입니다. 이 필드는 전원을 절약하기위한 힌트로만 사용되며 위치 업데이트 간의 실제 시간은이 값보다 크거나 작을 수 있습니다. 그래서 만약 당신이 (것)이 간격에 변화를 참조 (LocationListener 항상 정확한은 500ms 간격으로 호출되지 않습니다) 할 수

(50)는 minDistance하고있는 문서에있어서, 상기 최소 거리 간격을 알림, 미터 단위. 따라서 정확도에 영향을 미치지는 않으며 위치 업데이트를위한 트리거 만 정의합니다. (minDistance를 이동하면 트리거가 발생 함). 따라서 정확성에는 영향을 미치지 않습니다.

그러나, 당신의 locationlistener는 android.location.Location를 반환하고, 그 정확도 (미터 수정의 정확성)

+0

그래서 당신이 문제가 업데이트 횟수를 실제로 나던 말을 노출? –

+0

간격이 짧을수록 더 많은 위치 업데이트를 얻을 수 있습니다. 이 위치 업데이트 중에서 가장 정확한 것을 선택할 수 있습니다. 일반적인 사용 사례는 http://developer.android.com/guide/topics/location/obtaining-user-location.html을 참조하십시오. 에뮬레이터를 통한 GPS 위치 업데이트 시뮬레이션이 제한되어 있으며 실제 상황을 항상 반영하는 것은 아니므로 현장에서 테스트 해 보라고 권합니다. 또한 배터리 사용 시간을 고려하면 위치 업데이트를 요청하면서 배터리를 소모 할 수 있으므로 계속해서 GPS를 사용하도록 설정할 수 있습니다. – ddewaele

+0

감사합니다. 그래서 한 번 더 질문 :) 나는 위치를 한 번 가져 와서 SMS 텍스트 메시지로 보내고 싶습니다. 변경해야합니까? 위치를 얻은 후에 SMS를 보내려면 어떻게해야합니까? –

관련 문제