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
51
52
53
54
55
56
|
/**
* 初始化定位
*/
- (void)paepareLocation {
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
self.locationManager.distanceFilter = kCLLocationAccuracyThreeKilometers;
[self.locationManager startUpdatingLocation];
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
}
/**
* 定位成功
*/
-(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
[self.locationManager stopUpdatingLocation];
[self.locationManager stopUpdatingLocation];
CLGeocoder *geocoder = [[CLGeocoder alloc] init];
CLLocation *location = [[CLLocation alloc] initWithLatitude:newLocation.coordinate.latitude
longitude:newLocation.coordinate.longitude];
[geocoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error) {
if (error){
NSLog(@"error: %@", error);
return;
}
NSLog(@"定位成功");
CLPlacemark *placemark1 = [placemarks objectAtIndex:0];
[self showData:placemark1.addressDictionary];
}];
NSLog(@"firstviewctroller 定位成功latitude = %f",newLocation.coordinate.latitude);
NSLog(@"longitude = %f",newLocation.coordinate.longitude);
_longitude = [NSString stringWithFormat:@"%f",newLocation.coordinate.longitude];
_latitude = [ NSString stringWithFormat:@"%f",newLocation.coordinate.latitude];
}
/**
* 显示定位信息
*
* @param dic 位置数据
*/
-(void)showData:(NSDictionary *)dic
{
_addressLabel.text =[NSString stringWithFormat:@"%@",[dic objectForKey:@"City"]];
NSArray *array = [dic objectForKey:@"FormattedAddressLines"];
NSString *str8 =[NSString stringWithFormat:@"%@",[array objectAtIndex:0]];
NSLog(@"FormattedAddressLines = %@",str8);
}
|
转载于:https://my.oschina.net/lewis180/blog/343071