उपयोगकर्ता के स्थान प्राप्त करने के लिए आप के लिए वास्तव में स्थान जानकारी को पढ़ने के लिए प्रयास करने से पहले स्थान प्रबंधक "शुरू" की जरूरत है। मेरा सुझाव है कि आप एप्पल से LocateMe नमूना को देखो।
LocateMe नमूना कोड
संक्षेप में, हो रही उपयोगकर्ता के स्थान की जानकारी दो चरणों में किया जा सकता है:
- (void)viewDidLoad {
[[self locationManager] startUpdatingLocation];
}
- (CLLocationManager *)locationManager {
if (locationManager != nil) {
return locationManager;
}
NSLog(@"%s, Creating new Location Manager instance.", __FUNCTION__);
locationManager = [[CLLocationManager alloc] init];
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
locationManager.distanceFilter = DISTANCE_FILTER_VALUE;
locationManager.delegate = self;
return locationManager;
}
... और फिर,
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
NSLog(@"%s, location manager returned a new location.", __FUNCTION__);
// Check if location is valid (or good enough for us),
// and then process the location
if ([self locationIsValid:newLocation]) {
[self processLocation:newLocation];
// Very important! When your done with it, stop the location manager
[[self locationManager] sopUpdatingLocation];
// (Maybe even) clear it
locationManager.delegate = nil;
[locationManager release];
locationManager = nil;
}
}
उम्मीद है की यह मदद करेगा!