| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
10年前发布

iOS 8 实现获取当前定位信息

//  //  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