UI_ MapKit地图

1. 常用的地图APP中, 主要是体现了地图的:地图展示和定位功能. 本文主要介绍在iOS开发中, 地图的展示功能
2. 地图的展示必须基于: MapKit 框架
3. 定位功能则必须基于: CoreLocation 框架

说明:
1.在iOS5之后, 不需要再手动导入框架, 只需要在文件总导入头文件即可.
2.MapKit框架中所有的数据类型的前缀都是 MK~
3.MapKit有一个很重要的UI控件: MKMapView, 专门用于地图的显示功能.

1. 简单地图显示实例

#import "ViewController.h"
//引入地图头文件
#import 

@interface ViewController ()

//声明一个地图视图属性
@property (strong, nonatomic) MKMapView *mapView;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    //1. 初始化地图视图
    self.mapView = [[MKMapView alloc] initWithFrame:self.view.bounds];
    
    //2. 触摸缩放属性
    self.mapView.zoomEnabled = YES;
    
    //3. 是否可移动
    self.mapView.scrollEnabled = YES;
    
    //4. 地图样式(卫星图, 2D平面图等)
    self.mapView.mapType = MKMapTypeStandard;
    
    //5. 设置代理
    self.mapView.delegate = self;
    
    //6. 显示用户位置
    self.mapView.showsUserLocation = YES;
    
    //7. 添加到视图上
    [self.view addSubview:self.mapView];

}
@end```

###2. 属性说明: 
```code
#1. mapType
    MKMapTypeStandard = 0  普通地图
    MKMapTypeSatellite     卫星云图
    MKMapTypeHybrid        普通地图覆盖于卫星云图之上
    MKMapTypeSatelliteFlyover 三维模型
    MKMapTypeHybridFlyover 显示道路
#2. delegate
    MKMapView可以设置一个代理对象, 用来监听地图对象的相关行为, 常见的代理方法有: 
    //1. 该方法用来不断监测用户的当前位置, 一个位置更改时默认只会调用一次该方法, 把用户的新位置(userLocation参数)传进来.
    - (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation;
    //2. 该方法会在显示区域即将发生变化时调用
    - (void)mapView:(MKMapView *)mapView regionWillChangeAnimated:(BOOL)animated;
    //3. 该方法会在显示区域已经发生变化时调用
    - (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated;

你可能感兴趣的:(UI_ MapKit地图)