iOS8.2_Xcode6.2 地图使用

最近在iOS8.2 Xcode6.2环境下做地图导航,发现下面的错误,经查资料,终于找到解决方案 

  第一步:在 info.plist里加入:

NSLocationWhenInUseDescription,允许在前台获取GPS的描述
NSLocationAlwaysUsageDescription,允许在后台获取GPS的描述

 

第二步

#import "ViewController.h"
#import <MapKit/MapKit.h>
@interface ViewController () <MKMapViewDelegate, CLLocationManagerDelegate>
// 显示地图的view
@property (weak, nonatomic) IBOutlet MKMapView *mapView;
@property (nonatomic, strong) CLLocationManager *locationManager;
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    // 0.判断是否iOS8
    self.locationManager = [[CLLocationManager alloc] init];
    if([self.locationManager respondsToSelector:@selector(requestAlwaysAuthorization)]) {
        [self.locationManager requestAlwaysAuthorization]; // 永久授权
        [self.locationManager requestWhenInUseAuthorization]; //使用中授权
    }
    [self.locationManager startUpdatingLocation];
    
    
    // 1.设置地图类型
    self.mapView.mapType = MKMapTypeHybrid;
    
    // 2.设置代理
    self.mapView.delegate = self;
    
    // 3.设置跟踪用户位置
    self.mapView.userTrackingMode = MKUserTrackingModeFollow;
    
}

@end

至此,初步的地图定位已经实现,而且不需要我们自己设置用户位置居中。

原文地址:https://www.cnblogs.com/xdl745464047/p/4376986.html