首页 > 代码库 > Pinpointing the location of a Device
Pinpointing the location of a Device
Problem
You want to find the latitude and longitude of a device.
Solution
Use the CLLocationManager class:
#import "WSYViewController.h"
#import <MapKit/MapKit.h>
@interface WSYViewController ()<CLLocationManagerDelegate>
@property (nonatomic,strong)CLLocationManager * myLocationManager;
@end
@implementation WSYViewController
-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
//we received the new loaction
NSLog(@"Latitude = %f ",[[locations lastObject] coordinate].latitude);
NSLog(@"longitude = %f ",[[locations lastObject] coordinate].longitude);
}
-(void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error
{
NSLog(@"Failed to receive user‘s location ");
}
- (void)viewDidLoad
{
[super viewDidLoad];
if ([CLLocationManager locationServicesEnabled]) {
self.myLocationManager = [[CLLocationManager alloc]init];
self.myLocationManager.delegate = self;
[self.myLocationManager startUpdatingLocation];
}else
{
//location services are not enabled
//take appropriate action for instance prompt the user to enable the location services
NSLog(@"Location services are not enabled");
}
}
@end
In this code, myLocationManager is a property of type CLLocationManager. The current class is also the delegate of the location manager in this sample code.