iOS 8.0以后系统自带的地图定位

1.导入CoreLocation.framework

2.然后再引入头文件#import CoreLocation/CoreLocation.h(会自动处理<>这个符号,所以不要直接复制)

3.在plist文件配置如下两项

(1)NSLocationAlwaysUsageDescription(始终允许访问地理位置)

(2)NSLocationWhenInUseUsageDescription(当app在使用时使用地理位置)

4.申明一个:CLLocationManager *mLocation;

5.添加代理 CLLocationManagerDelegate

6.在viewdidload中加入如下代码

if ([CLLocationManager locationServicesEnabled]) {

mLocation = [[CLLocationManager alloc]init];

mLocation.delegate = self;

// 最小距离

mLocation.distanceFilter=kCLDistanceFilterNone;

//设置定位的精准度,一般精准度越高,越耗电(这里设置为精准度最高的,适用于导航应用)

mLocation.desiredAccuracy=kCLLocationAccuracyBestForNavigation;

[mLocation requestAlwaysAuthorization];

//开始定位用户的位置

[mLocation startUpdatingLocation];

}else{

//[Utility toast:self.view message:@"定位服务不可用,请设置"];

}

iOS 8.0以后系统自带的地图定位_第1张图片
else处理用户没有打开定位的操作

7.实现代理

- (void)locationManager:(CLLocationManager *)manager

didUpdateToLocation:(CLLocation *)newLocation

fromLocation:(CLLocation *)oldLocation{

mLongitude = [NSString stringWithFormat:@"%f",newLocation.coordinate.longitude];

mLatitude =[NSString stringWithFormat:@"%f",newLocation.coordinate.latitude];

//如果你不是使用地图,那么定位一次以后就可以用下面这句话关了定位

[mLocation stopUpdatingLocation];

}

iOS 8.0以后系统自带的地图定位_第2张图片

如上,就可以使用系统自带的定位功能了

你可能感兴趣的:(iOS 8.0以后系统自带的地图定位)