iOS定位--CoreLocation

來源:互聯網
上載者:User

標籤:

一:匯入架構

#import <CoreLocation/CoreLocation.h>

二:設定代理及屬性

<CLLocationManagerDelegate>

@property (nonatomic, strong) CLLocationManager *locMgr;

三:方法實現

- (CLLocationManager *)locMgr

{

#warning 定位服務不可用

    if(![CLLocationManager locationServicesEnabled]) return nil;

    

    if (!_locMgr) {

        // 建立定位管理者

        self.locMgr = [[CLLocationManager alloc] init];

        // 設定代理

        self.locMgr.delegate = self;

    }

    return _locMgr;

}

 

- (void)viewDidLoad {

    [super viewDidLoad];

    // 開始定位使用者的位置

    [self.locMgr startUpdatingLocation];

}

 

#pragma mark - CLLocationManagerDelegate

/**

 *  只要定位到使用者的位置,就會調用(調用頻率特別高)

 *  @param locations : 裝著CLLocation對象

 */

- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations

{

    // 1.取出位置對象

    CLLocation *loc = [locations firstObject];

    

    // 2.取出經緯度

    CLLocationCoordinate2D coordinate = loc.coordinate;

    

    // 3.列印經緯度

    NSLog(@"didUpdateLocations------%f %f", coordinate.latitude, coordinate.longitude);

    

    // 停止定位(省電措施:只要不想用定位服務,就馬上停止定位服務)

    [manager stopUpdatingLocation];

}

 

 

/**

 *  計算2個經緯度之間的直線距離

 */

- (void)countLineDistance

{

    // 計算2個經緯度之間的直線距離

    CLLocation *loc1 = [[CLLocation alloc] initWithLatitude:40 longitude:116];

    CLLocation *loc2 = [[CLLocation alloc] initWithLatitude:41 longitude:116];

    CLLocationDistance distance = [loc1 distanceFromLocation:loc2];

    NSLog(@"%f", distance);

}

iOS定位--CoreLocation

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.