首页 > 移动平台 > 详细

iOS 简单获取当前地理坐标

时间:2015-11-12 20:04:19      阅读:363      评论:0      收藏:0      [点我收藏+]

 

  iOS 获取当前地理坐标

       iOS获取当前地理坐标,很简单几句代码,但是如果刚开始不懂,做起来也会也会出现一些问题。

 

1、导入定位需要用到的库:CoreLocation.framwork 。如果要显示地图,就要导入 MapKit.framwork 。

 

2、在info.plist里加入两行 

            NSLocationWhenInUseUsageDescription  当应用需要时候定位 

            NSLocationAlwaysUsageDescription   始终使用地位(这行如果不加,那么启动的时候就不会弹出允许使用定位提示框,只能手动设置允许)。

              技术分享

 

3、导入类库  #import <CoreLocation/CoreLocation.h>, 添加代理 CLLocationManagerDelegate 。基本设置好了就可以直接代码实现了。

 

4、定义一个对象,做一些设置。

self.locationManager = [[CLLocationManager alloc] init];
    // 设置定位精度,十米,百米,最好
    self.locationManager.desiredAccuracy=kCLLocationAccuracyBest;
    //每隔多少米定位一次(这里的设置为任何的移动)
    self.locationManager.distanceFilter = kCLDistanceFilterNone;
    self.locationManager.delegate = self; //代理设置
    
    // 开始时时定位
    if ([CLLocationManager locationServicesEnabled])
    {
        // 开启位置更新需要与服务器进行轮询所以会比较耗电,在不需要时用stopUpdatingLocation方法关闭;
        [self.locationManager startUpdatingLocation];
    }else
    {
        NSLog(@"请开启定位功能");
    }

 

5、代理方法实现

//开启定位后会先调用此方法,判断有没有权限
-(void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status
{
    if ([CLLocationManager authorizationStatus]==kCLAuthorizationStatusNotDetermined)
    {
        //没有权限,调用方法开启权限
        [self.locationManager requestAlwaysAuthorization];
        
    }else if([CLLocationManager authorizationStatus]==kCLAuthorizationStatusAuthorizedWhenInUse)
    {
        [self.locationManager startUpdatingLocation];
    }
}

 

6、获取定位坐标

//成功获取到经纬度
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
    // 获取经纬度
    NSLog(@"纬度:%f",newLocation.coordinate.latitude);
    NSLog(@"经度:%f",newLocation.coordinate.longitude);
    // 停止位置更新
    [manager stopUpdatingLocation];
}

// 定位失败错误信息
-(void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error
{
    NSLog(@"error");
}

 

 完成:

      这就是一个简单的地理坐标获取,如果要使用更多功能、路线、距离、大头针、地理编码换算等可以下载使用高德或百度的SDK,里面都头很详细的说明,和简单的方法调用!

 

iOS 简单获取当前地理坐标

原文:http://www.cnblogs.com/qq95230/p/4960003.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!