首页 > 代码库 > iOS MapKit的基本使用
iOS MapKit的基本使用
1.构建UI ,导入MapKit框架
#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的基本使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。