免费开源的iOS开发学习平台

MapKit框架:2-MKMapView的基本使用

本节我们通过一个实际的案例,简单介绍MKMapView的基本使用方法。

准备工作

当我们需要使用MapKit框架时,需要预先导入MapKit框架。

在需要使用MapKit框架的代码中,导入MapKit框架的头文件。

#import <MapKit/MapKit.h>

实现MKMapView展示

在控制器类中,添加一个MKMapView类的属性,并设置控制器类遵守MKMapViewDelegate代理协议。

@interface ViewController ()<MKMapViewDelegate>
@property(nonatomic,strong) MKMapView *mapView;
@end

使用懒加载,初始化MKMapView的相关属性。

- (MKMapView *)mapView{
    if (_mapView == nil) {
        //实例化mapView
        _mapView = [[MKMapView alloc] initWithFrame:self.view.bounds];
        //设置mapView的属性
        _mapView.mapType = MKMapTypeStandard;
        _mapView.delegate = self;
        _mapView.zoomEnabled = YES;
        _mapView.showsScale = YES;
        _mapView.showsCompass = YES;
        _mapView.showsTraffic = YES;
        //指定地图的中心点经纬度,我们也可以通过CoreLocation框架获取用户当前的坐标
        _mapView.centerCoordinate = CLLocationCoordinate2DMake(32.04, 118.76);
        //地图显示的范围
        MKCoordinateSpan span = {0.05,0.05};
        _mapView.region = MKCoordinateRegionMake(_mapView.centerCoordinate, span);
    }
    return _mapView;
}

把mapView添加到控制器view上。

- (void)viewDidLoad {
    [super viewDidLoad];
    [self.view addSubview:self.mapView];
}

运行后,通过修改mapType的值,我们可以查看三种不同类型的地图展示样式。

示例代码

https://github.com/99ios/17.3.2