- 论坛徽章:
- 0
|
iOS 8 实现获取当前定位信息
源码:https://git.oschina.net/laughingzhong/LocationDemo.git
获取当前定位信息代码- //
- // ViewController.m
- // LocationDemo
- //
- // Created by LaughingZhong on 14/11/12.
- // Copyright (c) 2014年 Laughing. All rights reserved.
- //
-
- #import "ViewController.h"
-
- @interface ViewController ()
-
- @end
-
- @implementation ViewController
- @synthesize myLocationManager,myGeocoder,myLocation;
-
- - (void)dealloc
- {
- self.myLocationManager = nil;
- self.myLocation = nil;
- self.myGeocoder = nil;
- }
-
- - (void)viewDidLoad {
- [super viewDidLoad];
- // Do any additional setup after loading the view from its nib.
- if ([CLLocationManager locationServicesEnabled]) {
- self.myLocationManager = [[CLLocationManager alloc] init];
- [self.myLocationManager setDelegate:self];
- self.myLocationManager.desiredAccuracy = kCLLocationAccuracyBest;
- self.myLocationManager.distanceFilter = 1.0;
- // [self.myLocationManager requestAlwaysAuthorization];
- [self.myLocationManager requestWhenInUseAuthorization];
- [self.myLocationManager startUpdatingLocation];
- }else {
- NSLog(@"Location services are not enabled");
- }
- }
-
- - (void)didReceiveMemoryWarning {
- [super didReceiveMemoryWarning];
- // Dispose of any resources that can be recreated.
- }
-
- #pragma mark -
- #pragma mark CLLocationManagerDelegate
- - (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
- {
- NSLog(@"locations is %@",locations);
- CLLocation *location = [locations lastObject];
- self.myGeocoder = [[CLGeocoder alloc] init];
- [self.myGeocoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error)
- {
- if(error == nil && [placemarks count]>0)
- {
- CLPlacemark *placemark = [placemarks objectAtIndex:0];
-
- NSLog(@"name = %@",placemark.name);
- NSLog(@"Country = %@", placemark.country);
- NSLog(@"Postal Code = %@", placemark.postalCode);
- NSLog(@"locality = %@", placemark.locality);
- NSLog(@"subLocality = %@", placemark.subLocality);
- NSLog(@"address = %@",placemark.name);
- NSLog(@"administrativeArea = %@",placemark.administrativeArea);
- NSLog(@"subAdministrativeArea = %@",placemark.subAdministrativeArea);
- NSLog(@"ISOcountryCode = %@",placemark.ISOcountryCode);
- NSLog(@"thoroughfare = %@", placemark.thoroughfare);
- NSLog(@"subThoroughfare = %@",placemark.subThoroughfare);
-
- [label setText:[NSString stringWithFormat:@"address is: %@",placemark.name]];
- }
- else if(error==nil && [placemarks count]==0){
- NSLog(@"No results were returned.");
- }
- else if(error != nil) {
- NSLog(@"An error occurred = %@", error);
- }
- }];
- [self.myLocationManager stopUpdatingLocation];
- }
-
- - (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error
- {
- NSLog(@"reverse geocoder error: %@", [error description]);
- }
-
-
- @end
复制代码
|
|