//
// 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</pre>
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。