2011-09-07 7 views
0

사용자의 GPS 위치 정보를 얻을 수있는 앱이 있습니다. 문제는 여기 더 정확한 GPS 위치를 얻는 방법은 무엇입니까?

내 코드

LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE); 
      Criteria criteria = new Criteria(); 
      criteria.setAccuracy(Criteria.ACCURACY_FINE); 
      String bestProvider = locationManager.getBestProvider(criteria, 
        false); 
      LocationListener loc_listener = new LocationListener() { 

       @Override 
       public void onStatusChanged(String provider, int status, 
         Bundle extras) { 
        // TODO Auto-generated method stub 

       } 

       @Override 
       public void onProviderEnabled(String provider) { 
        // TODO Auto-generated method stub 

       } 

       @Override 
       public void onProviderDisabled(String provider) { 
        // TODO Auto-generated method stub 

       } 

       @Override 
       public void onLocationChanged(Location location) { 
        // TODO Auto-generated method stub 

       } 
      }; 
      try { 
       Looper.prepare(); 
       locationManager.requestLocationUpdates(bestProvider, 0, 0, 
         loc_listener); 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
      Location location = locationManager 
        .getLastKnownLocation(bestProvider); 

이다 나는 위치를 전송하기 전에 적어도 1 초 기다려야한다고 생각 부정확 조금 (그것이 다른 건물 20-60m 오프에서 저를 보여줍니다)되어 지금이다 .getLatitude() and location.getLongitude() 대기 시간은 거의 순간적이지만 정확도는 꽤 떨어져 있습니다. 내가 사용하고있다

답변

2

GPS 칩에서 제공하는 각 위치 업데이트의 정확도는 정확합니다. 임계 값 이상인 것을 버리는 것을 고려해야합니다.

그러나 실내 GPS는 신호를 얻기 위해 고생하므로 정확성이 떨어질 수 있습니다.

+0

정확도를 얻는 예를 보여줄 수 있습니까? thanks –

+0

다음은 제공된 최상의 수정 사항을 계산하는 예제입니다. http://developer.android.com/guide/topics/location/obtaining-user-location.html 그리고 반환 된 Location 객체의 정확성을 반환 할 수 있습니다. Location.getAccuracy()'함수를 호출합니다. – Kurru

관련 문제