首页 > 代码库 > iOS MapKit的基本使用

iOS MapKit的基本使用

1.构建UI ,导入MapKit框架

MapKit构建UI

#import <MapKit/MapKit.h>

 

2.添加成员变量,并连线

- (IBAction)backUserLocation;@property (weak, nonatomic) IBOutlet MKMapView *mapView;

 

3.基础设置

 1 - (void)viewDidLoad 2 { 3     [super viewDidLoad]; 4     // 设置地图代理 5     self.mapView.delegate = self; 6     // 设置地图的追踪模式 7     self.mapView.userTrackingMode = MKUserTrackingModeFollow; 8     // 设置地图类型为"标准类型" 9     self.mapView.mapType = MKMapTypeStandard;10     11 }

 

4.点击定位按钮触发的方法

 1 // 返回用户位置 2 - (IBAction)backUserLocation { 3      4     // 默认区域 5     MKCoordinateSpan spa = MKCoordinateSpanMake(0.01, 0.02); 6     MKCoordinateRegion region = MKCoordinateRegionMake(self.mapView.userLocation.location.coordinate, spa); 7  8     [self.mapView setCenterCoordinate:self.mapView.userLocation.location.coordinate animated:YES]; 9     [self.mapView setRegion:region animated:YES];10 }

 

5.MKMapKit的代理方法

 1 #pragma mark - MKMapViewDelegate 2 // 只要用户的位置发生改变,就自动调用这个方法,频率特别高 3 - (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation 4 { 5     // 设置用户位置的标题 6     userLocation.title = @"我的位置-标题"; 7     userLocation.subtitle = @"我的位置-子标题"; 8      9     // 获取用户的经纬度10     CLLocationCoordinate2D center = userLocation.coordinate;11     NSLog(@"我的经度:%f ,纬度:%f",center.longitude,center.latitude);12     13     // 设置用户的位置为地图中心14     [mapView setCenterCoordinate:center animated:YES];15     16     // 设置跨度(经纬度上的)17     MKCoordinateSpan spa = MKCoordinateSpanMake(0.01, 0.02);18     // 设置区域(中心点和跨度)19     MKCoordinateRegion region = MKCoordinateRegionMake(center, spa);20     // 设置地图的显示区域21     [mapView setRegion:region animated:YES];22     23 }24 25 /**26  *  只要地图的显示区域发生改变就会自动调用这方法,可以用这个方法获取地图当前的区域信息(中心点和跨度)27  */28 - (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated29 {30     31     MKCoordinateSpan span = mapView.region.span;32     NSLog(@"纬度跨度%f , 经度跨度%f", span.latitudeDelta , span.longitudeDelta);33 }

 

iOS MapKit的基本使用