实用知识:CoreLocation的使用(地图展示)
2016-04-30 20:37
417 查看
#import "ViewController.h" // 如果是从Xib/SB文件当中使用到框架, 需要手动导入框架 #import <MapKit/MapKit.h> @interface ViewController () <CLLocationManagerDelegate, MKMapViewDelegate> @property (strong, nonatomic) CLLocationManager *manager; @property (weak, nonatomic) IBOutlet MKMapView *mapView; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // 授权 // 如果当前授权状态已经作出决定, 该方法什么都不干 [self.manager requestAlwaysAuthorization]; // 如果调用了代码, 会自动导入 NSLog(@"%@", [MKMapView class]); // 地图类型 /** MKMapTypeStandard = 0, // 标准 MKMapTypeSatellite, // 卫星 MKMapTypeHybrid, // 标准 + 卫星 */ // self.mapView.mapType = MKMapTypeHybrid; // 地图手势 // self.mapView.scrollEnabled = NO; // 拖拽 // self.mapView.rotateEnabled = NO; // 旋转 // self.mapView.zoomEnabled = NO; // 放大缩小 /** MKUserTrackingModeNone // 不追踪 MKUserTrackingModeFollow, // 追踪用户位置 MKUserTrackingModeFollowWithHeading, // 追踪用户位置与方向 */ // 用户的追踪模式, 需要申请用户授权 // 以用户为中心, 显示用户周边 self.mapView.userTrackingMode = MKUserTrackingModeFollow; // 已经通过SB连线了代理对象 } #pragma mark - MKMapViewDelegate // 更新了用户位置时触发 - (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation { // MKUserLocation 表示用户的位置信息 // 用户位置 CLLocation *location = userLocation.location; NSLog(@"%f, %f", location.coordinate.latitude, location.coordinate.longitude); NSLog(@"%@", userLocation.title); } // 地图加载完成后触发 - (void)mapViewDidFinishLoadingMap:(MKMapView *)mapView { NSLog(@"地图加载完成后触发"); } // 地图显示区域即将改变触发 - (void)mapView:(MKMapView *)mapView regionWillChangeAnimated:(BOOL)animated { NSLog(@"地图显示区域即将改变触发"); } // 地图显示区域改变之后触发 - (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated { NSLog(@"地图显示区域改变之后触发"); } #pragma mark - CLLocationManagerDelegate - (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status { if (status == kCLAuthorizationStatusAuthorizedAlways) { NSLog(@"授权成功"); } } #pragma mark - Getter & Setter - (CLLocationManager *)manager { if ( !_manager) { _manager = [[CLLocationManager alloc] init]; _manager.delegate = self; } return _manager; } @end
相关文章推荐
- WebStorm快捷键
- Nhbernate
- poj2828 Buy Tickets(单点更新模拟队列)
- SQL集萃(一) Case…When…Then 实现无表字段拼表格
- Leetcode 14. Longest Common Prefix
- Scrapy爬取美女图片续集
- sscanf和sprintf的用法
- Java的线程
- Java循环练习:求1+(1*2)+(1*2*3)+(1*2*3*4)+(1*2*3*4*5)的和
- 4月4日作业
- 欢迎使用CSDN-markdown编辑器
- 使用rem时chrome中的bug
- 欢迎使用CSDN-markdown编辑器
- UIScrollView 的代理方法简单注解
- C++ 运算符重载
- linux头文件详解
- mongdb安装
- 构建之法阅读笔记06
- FastCGI+lighttpd开发之介绍和环境搭建
- 我目前的目标,成为技术大牛!