운전 경로 또는 이와 유사한 방법으로 사용하지 않습니다. 몇 가지 특수 효과가 있고 사용자가 그 중 하나 근처에있을 때 방아쇠를 당겨 사용자에게 알릴 수 있습니다.도착 방법 4-5 초마다 userLocation에서 거리
didUpdateToLocation이 startUpdatingLocation 호출 당 한 번만 호출 된 것처럼 보입니까? 적어도 내가 그 메서드 내에서 NSLog를 사용하면 콘솔에서 한 줄만 얻을 수 있습니다. 아니, 나는 아이폰으로 걷지 않고있다.
so : userLocation의 지속적인 모니터링을 설정하고 "콜백"을 얻는 올바른 방법은 무엇입니까? (3-4 초가 경과했거나 사용자가 이동 한 경우 10 미터)?
- (void) locationManager:(CLLocationManager*)manager didUpdateToLocation:(CLLocation*)newLocation fromLocation:(CLLocation*) oldLocation
{
// This will be called every time the device has any new location information.
}
시스템마다 didUpdateToLocation
를 호출합니다 :
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters;
[locationManager startUpdatingLocation];
그리고이 같은 didUpdateToLocation을 구현 :
답변 해 주셔서 감사합니다. 나는 바로 그것을 테스트 할 수 있도록 userLocation을 패치하는 방법을 생각할 수 없었다. 방금 거리 경고를 구현하고 누군가가 테스트 해 보도록하겠습니다. 실제로 시간 간격을 사용하는 것보다 낫습니다. 정확도는 최상이고 필터는 10m 동일하지만, 그렇지 않은 경우 왜 안됩니까? (알고 계시다면) –
맞습니다. kCLLocationAccuracyBest가 더 좋습니다. 확실히 kCLDistanceFilterNone이 최고입니다. kCLDistanceFilterNone을 사용할 때 문서에 모든 알림이 표시됩니다. –
글쎄, 실제로 나는 10 미터를 움직이는 것이 너무 자주 업데이트하지 않고 (또는 서있을 때, 둘 다 '최고/없음'으로 설정하면 얻을 수있는) 충분한 업데이트에 대한 좋은 기준이라고 생각했습니다. 그래서 저는 "정확도 = 최상 + 필터 = 10m"과 "정확도 = 10m + 필터 = 없음"중 가장 적절한 결과를 주 었는지 궁금해했습니다. :) –