Map1: iOS开发中定位和地图介绍
2.然后选择 target 选项
3.然后选择 Build Phase 模块栏
4.然后点开 Link Binary With Libraries 栏目,再点击+号按钮
#import <CoreLocation/CoreLocation.h>
#import <MapKit/MapKit.h>
二.下面创建一个地图的视图
.h
#import <UIKit/UIKit.h> #import <MapKit/MapKit.h> @interface mapViewController : UIViewController @property (nonatomic, strong)MKMapView *myMapView; @end
.m
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. self.view.backgroundColor = [UIColor whiteColor]; //初始化map self.myMapView = [[MKMapView alloc]initWithFrame:self.view.bounds]; //设置地图类型 self.myMapView.mapType = MKMapTypeStandard; self.myMapView.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight; [self.view addSubview:_myMapView]; }
MKMapTypeStandard 显示普通地图(这个是默认的)。
MKMapTypeSatellite 显示卫星云图。
MKMapTypeHybrid 显示普通地图覆盖于卫星云图之上,这个地图的展现形式属于复合形式。
三.处理Map视图上的事件
self.myMapView.delegate = self;
四.精确定位设备的位置
注意:
Core Location 框架提供了让开发者能够利用 iOS 设备来进行位置服务。因为在 iOS 中,用户是可以通过设置程序来禁用位置服务的,因此,当你在使用 CLLocationManager 这个类的时候,最好首先判断一下设备中的位置服务是否可用。
//地图定位,CLLocation //当你在使用 CLLocationManager 这个类的时候,最好首先判断一下设备中的位置服务是否可用。 if ([CLLocationManager locationServicesEnabled]) { _myLocationManager = [[CLLocationManager alloc]init]; _myLocationManager.delegate = self; //开始更新位置 [_myLocationManager startUpdatingLocation]; }else{ NSLog(@"Location services are not enabled"); }
#pragma mark - CLLocationManagerDelegate - (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{ //我们收到了新的位置 NSLog(@"locations = %@",locations); } - (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error{ //获取位置失败 NSLog(@"error = %@",error); }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。