2011-09-12 29 views
11

Tôi có một người quản lý CLLocation được gọi là "myLocation".Tần suất cập nhật Trình quản lý vị trí, iphone

myLocation = [[CLLocationManager alloc] init]; 
    myLocation.desiredAccuracy = kCLLocationAccuracyBestForNavigation ; 
    myLocation.distanceFilter = 10 ; 
    myLocation.delegate=self; 



    locationEnabledBool = [CLLocationManager locationServicesEnabled]; 



    if (locationEnabledBool ==NO || ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusDenied)) { 

    // LocationText.text = @"Location Service Disabled "; 
     UIAlertView *locationAlert = [[UIAlertView alloc] initWithTitle:@"Location Service Disabled" 
                 message:@"To re-enable, please go to Settings and turn on Location Service for this app." 
                 delegate:nil 
               cancelButtonTitle:@"OK" 
               otherButtonTitles:nil]; 
     [locationAlert show]; 
     [locationAlert release]; 

    } 

     [myLocation startUpdatingLocation]; 

và vị trí chức năng cập nhật

- (void)locationManager:(CLLocationManager *)manager 
    didUpdateToLocation:(CLLocation *)newLocation 
      fromLocation:(CLLocation *)oldLocation 
{ 

NSLog(@"old location is %f, %f ", oldLocation.coordinate.latitude, oldLocation.coordinate.longitude); 
NSLog(@"new location is %f,%f",newLocation.coordinate.latitude, newLocation.coordinate.longitude); 
} 

Có cách nào để tìm tần số của quản lý cập nhật vị trí, và nếu nó có thể được tăng hoặc giảm?

+1

Không có tùy chọn như vậy trong trình quản lý vị trí .... Đại biểu sẽ được gọi bất cứ khi nào có thay đổi về vị trí được phát hiện. Nhưng u có thể thay đổi độ chính xác ... Đó là liệu nó nên được thay đổi cho mỗi mười mét thay đổi hoặc 100 m hoặc 1 Km..etc ... – booleanBoy

+0

Nhưng Cập nhật vị trí cũng diễn ra nếu thiết bị dừng. – alekhine

+0

bạn có nghĩa là u có thể nhận được tọa độ của vị trí ngay cả khi thiết bị đang đứng yên ....? – booleanBoy

Trả lời

21

Cập nhật vị trí của bạn chỉ bắt đầu khi bạn gọi phương thức [locationManager startUpdatingLocation].

Bạn có thể kiểm soát tần suất cập nhật bằng cách sử dụng NSTimer. Gọi phương thức startUpdatingLocation vào các khoảng thời gian đều đặn bất cứ khi nào bạn cần cập nhật vị trí và sau đó gọi ngay phương thức stopUpdatingLocation. Lần sau bạn sẽ chỉ nhận được cập nhật vị trí tại khoảng thời gian bạn đã đặt trong số NSTimer.

+0

Cảm ơn sự kiên nhẫn của bạn đã giúp tôi. câu trả lời của bạn chắc chắn đã giúp. thời gian tới tôi sẽ đặt câu hỏi rõ ràng hơn. – alekhine

+0

Bạn được chào đón :) – booleanBoy

+0

@ amol-subhedar tôi cần một sự ủng hộ từ u ... bạn có thể giúp tôi không? :) – booleanBoy

2

Đối với việc phát hiện ngay cả những nhỏ nhất của các phong trào, bạn cần phải thiết lập

myLocation.distanceFilter = kCLDistanceFilterNone ; 

Nhưng, hãy nhớ, cho phép quản lý vị trí để tạo ra bản cập nhật cho ngay cả những nhỏ nhất của các phong trào có thể kết thúc trong rất nhiều việc sử dụng pin .

+1

kCLDistanceFilterNone là mặc định ... – Jake

Các vấn đề liên quan