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

下面是来客网 jb51.cc 通过网络收集整理的代码片段。

来客网小编现在分享给大家,也给大家做个参考。

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

以上是来客网(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得来客网网站内容还不错,欢迎将来客网网站推荐给程序员好友。

以上是来客网为你收集整理的iOS 8 如何实现获取当前定位信息全部内容,希望文章能够帮你解决iOS 8 如何实现获取当前定位信息所遇到的程序开发问题。

如果觉得来客网网站内容还不错,欢迎将来客网网站推荐给程序员好友。