|
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); } } }];} |
原文地址:http://www.cnblogs.com/joesen/p/3698630.html