首页 > 代码库 > IOS 定位 单例
IOS 定位 单例
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | + (SCLocationController *)sharedController { static SCLocationController *sharedController = nil ; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ sharedController = [[ self alloc]init]; }); return sharedController; } - ( id )init { self = [ super init]; if ( self ) { _locationManager = [[CLLocationManager alloc]init]; _locationManager.delegate = self ; _locationManager.desiredAccuracy = kCLLocationAccuracyBest; _locationManager.distanceFilter = 30; // Meters. } return self ; } #pragma mark - Location Manager #pragma mark - CLLocationManagerDelegate - ( void )locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation { [_locManager stopUpdatingLocation]; CLGeocoder *reverseGeocoder=[[CLGeocoder alloc] init]; [reverseGeocoder reverseGeocodeLocation:newLocation completionHandler:^( NSArray *array, NSError *error) { CLPlacemark *placeMark = [array lastObject]; if (placeMark != nil ) { state = [placeMark.addressDictionary objectForKey:@ "State" ]; city = [placeMark.addressDictionary objectForKey:@ "City" ]; subLocality = [placeMark.addressDictionary objectForKey:@ "SubLocality" ]; if (city.length > 0) { NSLog (@ "%@-%@-%@" ,state,city,subLocality); } else { NSLog (@ "%@-%@" ,state,subLocality); } } }]; } |
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。