1.MapKit的基本概念
.m中的代码
- 使用Core Location框架获取当前设备的位置信息,而使用MapKit框架能够显示该信息
- 使用地图服务时,需要添加 MapKit.framework框架
- MapKit的大部分功能由MKMapView完成,主要负责地图的显示
.h中的代码
#import <MapKit/MapKit.h>
@interface MainViewController : UIViewController<MKMapViewDelegate,CLLocationManagerDelegate>
@property (strong, nonatomic) IBOutlet MKMapView *mapView;
</span>
.m中的代码
//设置是否显示用户当前位置
self.mapView.showsUserLocation = YES;
//设置代理
self.mapView.delegate = self;
//设置地图显示类型
//MKMapTypeStandard标准型
//MKMapTypeSatellite 卫星
//MKMapTypeHybrid混合型
self.mapView.mapType = MKMapTypeStandard;
//经纬度坐标
CLLocationCoordinate2D coord = {40.029254,116.337254};
//显示范围精度
MKCoordinateSpan span = {0.1,0.1};
//显示区域
MKCoordinateRegion region = {coord,span};
//地图初始化时地图的位置
[self.mapView setRegion:region];
3.地图常用的委托方法
返回标注视图(大头针视图)
-(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation
更新当前位置时调用
-(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation;
选中标注视图
-(void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view
地图的显示区域改变时调用-(void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated