系统定位

#import "ViewController.h"
#import




@interface ViewController ()< CLLocationManagerDelegate >

@property ( nonatomic , retain ) CLLocationManager *manger;

@end

@implementation ViewController

- (
void )viewDidLoad {
    [
super viewDidLoad ];
   
// Do any additional setup after loading the view, typically from a nib.
   
/**
    
定位
    
     - returns:
     */

   
   
self . manger = [[ CLLocationManager alloc ] init ];
   
self . manger . delegate = self ;
   
// 距离刷新
   
self . manger . distanceFilter = 10 ;
   
// 定位精度
   
self . manger . desiredAccuracy = kCLLocationAccuracyBestForNavigation ;
   
// 开始定位
    [
self . manger startUpdatingLocation ];
   
// 设置什么时候开始定位
   
// 程序只要运行就会定位
    [
self . manger requestAlwaysAuthorization ];
   
// 程序运行就会定位
    [
self . manger requestWhenInUseAuthorization ];
   
// 计算经纬度之间的距离
    [
self countdistance ];
   
   
   
   
   
}

-(
void )countdistance{
   
CLLocation *location = [[ CLLocation alloc ] initWithLatitude : 23.3 longitude : 113.33 ];
   
CLLocation *locationEnd = [[ CLLocation alloc ] initWithLatitude : 40.60 longitude : 117.78 ];
   
// 计算距离调用方法
   
CLLocationDistance distance  = [location distanceFromLocation :locationEnd];
   
NSLog ( @"distance =======  %f" ,distance);
   
   
   
   
   
}

-(
void )locationManager:( CLLocationManager *)manager didUpdateLocations:( NSArray < CLLocation *> *)locations{
   
   
// 获取用户位置的对象
   
CLLocation *location = [locations lastObject ];
   
CLLocationCoordinate2D coordinate = location. coordinate ;
   
NSLog ( @" 经度 : %f, 纬度 : %f" ,coordinate. latitude ,coordinate. longitude );
   
// 停止定位
    [
self . manger stopUpdatingLocation ];
   
}

- (
void )didReceiveMemoryWarning {
    [
super didReceiveMemoryWarning ];
   
// Dispose of any resources that can be recreated.
}

@end

你可能感兴趣的:(系统定位)