이 영역 모니터의 정확도는 매우 낮습니다. 누구나이 문제를 해결할 수 있습니까? 내 소스 코드의 저장소는 다음과 같습니다. 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 정도 떨어져있는 좌표로 전환 할 때만 알려줍니다.
지역 모니터 샘플 코드가있는 사람이 있습니까? 정말 내 버그를 찾을 수 없습니다!
귀하의 지역이 300 미터로 설정되어있는 것처럼 보입니다. 예상했던 것입니까? – Aaron
@Aaron 예! 그것은. 그러나 대리자 메서드는 항상 경계에서 멀리 호출됩니다. (약 600 미터) 예측할 수 없습니다. –
'MapView.centerCoordinate'을 맵에 그려서 센터가 있다고 생각하는 곳인지 확인할 수 있습니까? 좌표는 꺼져있을 수 있습니다. – Aaron