GPS 관련 질문을 3~4번쯤은 올렸는데...
답변을 얻지 못 했는데요...ㅠ_ㅠ

어딜 찾아봐도 그냥 requestLocationUpdates 로 요청 해주고 onLocationChanged 에서 좌표 받고
위성 종료는 removeUpdates 로 한다 이런 기본적인 소스만 있더라구요....

지금 문제가 좌표가 들어오는데 GPS는 실외일땐 마구마구 아주 잘 들어오고 정확도도 꽤 높지만
실내에선 GPS로 좌표가 안 들어와서 네트웍 프로바이더로 좌표를 받아오는데요.
네트웍 좌표는 GPS 처럼 초단위로 들어오는것이 아니라 30초~1분 사이에 하나씩 뜨문... 뜨문 들어오는데요
여기서 첫번째 질문.... 네트웍 프로바이더로 요청한 좌표는 원래 이렇게 뜨문 뜨문 들어오나요?

일단 지금 튜닝을 하나도 하지 않은 상태라 좌표를 받는 즉시 맵뷰에 핀을 이동하고
좌표와 현재 좌표를 보내준 프로바이더를 토스트로 띄우도록 해서 테스트중인데...
GPS로 현재위치와 동일한 위치를 찍어주다가도(꽤 정확, 실외일 경우)
네트웍 프로바이더 좌표가 들어오면(실외에서도 GPS 좌표가 들어오는 가운데 네트워크 좌표가 드문 드문 들어옵니다...
하지만 네트웍은 보통 현재위치와 오차가 있죠) 네트웍 좌표로 핀이 이동했다가 다시 들어온 GPS 좌표로 다시 현재 위치가 뜹니다...
두번째 질문... 실내와 실외가 왔다갔다 할 때 좌표값의 유효성 처리는 어떻게 튜닝하면 좋을까요..?

베스트 프로바이더는 ACCURACY_COARSE로 주면 네트웍 프로바이더를 ACCURACY_FINE으로 주면
GPS를 사용하더라구여 그래서 딱히 효율적인걸 모르겠더군요.. 검색중 민생고 어플을 보았는데 그걸로 해도
결과는 그닥 만족스럽지 않았습니다...

그리고 지하철에 타서 테스트 했을 때 네트웍 좌표는 지하철 역 기준으로 3~4개가 지나갈 때까지 좌표가
하나도 들어오지 않습니다;;; 첫번째 질문과 같은 내용이구요....


원래 이런가요...? 아이폰 같은 경우 좌표가 너무너무 잘 들어와서 그 값들의 규칙을 파악하여 튜닝하기 적절한데
안드로이드로 만드는게 왜이리 힘든지... 테스트 폰은 갤럭시S로 합니다....

지금 구현한 소스를 설명드리면 리스너를 GPS용 NETWORK용으로 두 개 구현하여서
requestLocationUpdates 로 GPS는 시간값, 거리값을 0, 0 으로 주고 NETWORK 프로바이더는
1000, 0 으로 주고 GPS와 NETWORK 프로바이더로 두 가지 다 requestLocationUpdates를 합니다.

onChangeLocation 이벤트가 들어오면 받은 위치로 맵뷰에 핀을 옮기고 토스트로 현재 위치를 받아온
프로바이더를 알려주게끔 띄워줍니다.

제가 튜닝을 잘못 해서 들어오는 좌표를 무시한다거나 어디 로직에 에러가 있어서 좌표가 들어올것이
못 들어오고 있는 수도 있기에...
일부러 좌표가 어떻게 들어오는지 알기 위해 아무 튜닝도 가공도 하지 않고 들어오는 좌표 그대로를 핀을
옮겨서 찍게끔 헀는데....

이해할 수가 없네요 ;; ㅠ_ㅠ

혹시 위치정보 얻어오는게 위 방법 말고 다른게 존재하는 건가요...?
왜 다른 위치정보 활용하는 앱을 보면 위치정보를 정말 잘 가져오는데
왜 안될까요 ;;;