2011-10-04 2 views
2

시작 지점부터 끝 지점까지 이동 한 거리를 계산하는 앱에서 작업하고 있습니다. 나는 변화하는 좌표를 얻고이 좌표들 사이의 거리를 측정하기 위해 모든 것을했습니다. 실제 문제는 몇 초 후에 iPhone을 움직이지 않게 유지하면 GPS 판독 값이 편차를 보였고 CLLocationDistance가 100 미터 이동하지 못했음을 알려주지 만 조금만 이동하지는 못했습니다. 내 응용 프로그램의 정밀도를 향상시킬 수있는 방법이 있습니까?iPhone GPS 정확도 - 변경 사항 읽기 장치가 고정되어 있습니다.

미리 감사드립니다.

답변

2

iPhone의 GPS가 배터리를 보존하기 위해 멀리 떨어져 있습니다. 첫 번째 좌표 세트는 전화기의 마지막 좌표입니다. 그리고 원하는 정확도에 따라 더 나은 수정을 시도하고 우선 Wi-Fi 또는 셀 타워에서 삼각 측량을 사용합니다.

잠시 후 GPS 신호가 전달되어보다 정확한 위치를 제공하며 iOS는 원하는 정확도가 충족되거나 알려주면 업데이트를 중지합니다.

받은 작업의 정확성을 확인하고 조건을 충족하는지 확인하십시오. 가장 많이 발생하는 수정 프로그램을 제거하는 방법은 없습니다. 단지 시간이 걸릴 것입니다.

1

앱 내에서 GPS의 정밀도를 높이는 방법은 없지만 결과의 정확도를 높일 수는 있습니다.

우선, CLLocationManger의 distanceFilter로 재생 해보십시오.

/* 
* distanceFilter 
* 
* Discussion: 
*  Specifies the minimum update distance in meters. Client will not be notified of movements of less 
*  than the stated value, unless the accuracy has improved. Pass in kCLDistanceFilterNone to be 
*  notified of all movements. By default, kCLDistanceFilterNone is used. 
*/ 
@property(assign, nonatomic) CLLocationDistance distanceFilter; 

또한 원하는 정밀도

/* 
* desiredAccuracy 
* 
* Discussion: 
*  The desired location accuracy. The location service will try its best to achieve 
*  your desired accuracy. However, it is not guaranteed. To optimize 
*  power performance, be sure to specify an appropriate accuracy for your usage scenario (eg, 
*  use a large accuracy value when only a coarse location is needed). Use kCLLocationAccuracyBest to 
*  achieve the best possible accuracy. Use kCLLocationAccuracyBestForNavigation for navigation. 
*  By default, kCLLocationAccuracyBest is used. 
*/ 
@property(assign, nonatomic) CLLocationAccuracy desiredAccuracy; 

그리고 마지막

, 당신은 검색 한 위치 업데이트의 정확도와 함께 연주한다. 정확하지 않은 위치를 없애기 위해서는 정확도를 기반으로 잘못된 위치 업데이트를 버리는 것이 좋습니다. 또한 실제 gps 정확도 신호를 얻는 데는 약간의 시간이 걸립니다.

+0

감사합니다. 결과가 개선되었습니다. –