안녕하세요.

갤럭시S 로 앱을 개발 하고 있습니다.

 

작년에 개발 완료한 앱에 카디오 트레이너 같은 기능을 추가 하려고 

GPS 신호를 받아서 구글 맵에 표시 하는 기능을 구현 하고 있습니다.

 

제가 기능 구현을 잘 못한 건지 GPS 수신 상태가 않좋습니다.

구현한 내용을 정리해봅니다.

 

1. Provider 설정

 String provider = locationManager.getBestProvider(criteria, true); 네트워크 또는 GPS 중 신호가 센놈 한테 받는다.

 String provider = LocationManager.GPS_PROVIDER; GPS 만 사용한다.

 위 2 방식 다 테스트 중입니다.

 

2. GPS 상태 확인

 GpsStatus.NmeaListener 로 Nmea 정보 중 GPGGA 값의 6번째 Position Fix 값으로 신뢰도 확인하고

 GPGGA 7번째 Satellites Used 값으로 현재 수신 된 위성의 개수를 확인하여 세기를 확인하고

 

3. 구글맵에 위치 정보 표시

  locationManager.requestLocationUpdates(provider, 1000, 1, locationListener); 이와 같이

 LocationListener()로 1초 마다 확인 해서 1m 이동 하면 구글 맵 위에 표시하게 구현 하였습니다.

 

갤럭시S 기본 앱인 TMAP 이나 네비게이션 또는 카디오트레이너는 실행하자 마자 1초 이내로

잘 잡힙니다.

 

질문 정리

1. 갤럭시S 에서 GPS 관련 해서 확인 해야 할 것이 또 있나요?

2. 환경설정-> 장소 및 보안->무선 네트워크 사용 체크를 하면 네트워크로 위치 파악된 정보가

    GPS NMEA 값으로 변환 해서 알려 주나요?

   (실내에서는 NMEA 등 location 값이 정확히 들어옵니다. ㅜ.ㅜ)

3. 안드로이드 개발자 사이트에 보면 LocationListener() 로 들어오는 Bundle extras 값으로

   위성 개수를 알 수 있다는데 값이 안들어오는 것 같아요!

4. wifi는 정확한 위치 값을 모를 것 같고 3G는 수신하는 핸드폰의 위도, 경도 값을 정확히 알 수

   건가요?

 

글이 상당히 긴데 어린이날 홀로이 테스트 하는 저를 봐서 댓글 부탁 드리겠습니다.

감사합니다. ^.^

 

실외에서 테스트 하는데 날씨가 상당히 좋네요 ㅋㅋㅋ 외롭네요