0
我正在使用核心位置來存儲緯度/經度座標。我在viewDidLoad中有以下代碼。LocationManager不一致
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
self.locationManager.distanceFilter = kCLDistanceFilterNone;
self.locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters;
[self.locationManager startUpdatingLocation];
這是我的委託方法。
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations {
[self.locationManager stopUpdatingLocation];
CLLocation* loc = [locations lastObject]; // locations is guaranteed to have at least one object
float latitude = loc.coordinate.latitude;
float longitude = loc.coordinate.longitude;
self.lat = [NSString stringWithFormat:@"%.8f",latitude];
self.longString = [NSString stringWithFormat:@"%.8f",longitude];
}
我正在使用GPS來跟蹤這些座標,它似乎不一致。啓動應用後,位置服務圖標不會經常顯示。但是,如果我切換我的無線網絡,它會起作用。或者,如果我打開地圖應用程序並提示它獲取我的當前位置,然後切換到我的應用程序,它將起作用。有時候,它會無視工作。如果位置服務圖標不顯示,那麼我的緯度/經度值爲空。有任何想法嗎?提前致謝!
下面的代碼展示瞭如何保持足夠長的時間以獲得良好的位置值,或者在合理的時間後超時:https://github.com/mattneub/Programming-iOS-Book-Examples /blob/master/bk2ch22p773位置/ch35p1032location/ViewController.m – matt
嗯......即使在實現該代碼之後,我仍然有同樣的問題。此外,「這需要太長時間」NSlog不顯示,所以我不知道它是否甚至到達代表。這幾乎就像我需要通過imaps打開GPS以使其工作。 – user2402616
我的例子是可下載的,是一個完整的工作項目。試試看。 – matt