2013-09-05 3 views
0

이 영역 모니터의 정확도는 매우 낮습니다. 누구나이 문제를 해결할 수 있습니까? 내 소스 코드의 저장소는 다음과 같습니다. https://github.com/robert-yi-jones/RegionTriggerLocationManager region 모니터가 예상 한 것과 다릅니다. 영역 경계가 내 설정보다 크게 보입니다.

지도의 중심 인 CLLocationCoordinate2D 변수를 만들었습니다. 그런 다음 좌표를 기준으로 반경 100m로 영역을 설정합니다.

그러나 모니터를 시작한 지역이 잘 작동하지 않는 것처럼 보입니다.

/* 
* locationManager:didEnterRegion: 
* 
* Discussion: 
* Invoked when the user enters a monitored region. This callback will be invoked for every allocated 
* CLLocationManager instance with a non-nil delegate that implements this method. 
*/ 
- (void)locationManager:(CLLocationManager *)manager 
     didEnterRegion:(CLRegion *)region{ 
    if ([region.identifier isEqualToString:@"My Circle Region"]) { 
     [self showAlertWithTitle:@"Entering a Region" 
         Message:region.identifier]; 
    } 
} 

/* 
* locationManager:didExitRegion: 
* 
* Discussion: 
* Invoked when the user exits a monitored region. This callback will be invoked for every allocated 
* CLLocationManager instance with a non-nil delegate that implements this method. 
*/ 
- (void)locationManager:(CLLocationManager *)manager 
      didExitRegion:(CLRegion *)region{ 
    if ([region.identifier isEqualToString:@"My Circle Region"]) { 
     [self showAlertWithTitle:@"Exiting a Region" 
         Message:region.identifier]; 
    } 
} 

설정 영역에서 6KM 정도 떨어져있는 좌표로 전환 할 때만 알려줍니다.

지역 모니터 샘플 코드가있는 사람이 있습니까? 정말 내 버그를 찾을 수 없습니다!

+0

귀하의 지역이 300 미터로 설정되어있는 것처럼 보입니다. 예상했던 것입니까? – Aaron

+0

@Aaron 예! 그것은. 그러나 대리자 메서드는 항상 경계에서 멀리 호출됩니다. (약 600 미터) 예측할 수 없습니다. –

+0

'MapView.centerCoordinate'을 맵에 그려서 센터가 있다고 생각하는 곳인지 확인할 수 있습니까? 좌표는 꺼져있을 수 있습니다. – Aaron

답변

1

제 경험상 이것이 정상적인 동작입니다. 저는 약 2.5 년 동안 지역 모니터링을 사용 해왔고, iOS 6 이후로 -didExitRegion 대의원은 -didEnterRegion보다 훨씬 더 오래 걸립니다. 또한 Apple Engineer가 WWDC 2013에서이 동작을 확인했습니다. 종료 이벤트에서 정확성을 높이고 오히려 지연시키려는 것처럼 들리지는 않습니다. 엔지니어에 따르면 운영 체제는 알려진 Wifi 네트워크 범위를 벗어나고 새로운 셀 타워로 완전히 벗어나기 때문에 남긴 해독을 훨씬 오래 걸립니다. 당신이 도착했는지를 결정하는 것이 당신이 떠나기로 결정한 것보다 훨씬 쉽습니다.

지오 펜스를 트리거하는 데 300M 정도 밖에 걸리지 않는다면 (300M 반경 제외) 지오 펜스의 작동 한계 내에 있다고 말할 수 있습니다. 끝내기보다 정밀도가 더 필요하다면 GPS 칩과 그와 관련된 모든 작업을 호출해야 할 것입니다. 희망이 정보는 도움이됩니다.