可以通过设置MKMapView的mapViewType设置地图类型
MKMapTypeStandard 普通地图
MKMapTypeSatellite 卫星云图
MKMapTypeHybrid 普通地图覆盖于卫星云图之上
@property (nonatomic) MKMapType mapType; //地图类型
@property (nonatomic) MKCoordinateRegion region; //位置区域
@property (nonatomic) CLLocationCoordinate2D centerCoordinate;//位置经纬度
//位置区域范围(0~1)
typedef struct {
CLLocationDegrees latitudeDelta;
CLLocationDegrees longitudeDelta;
} MKCoordinateSpan;
//位置经纬度
CLLocationDegrees latitude;
CLLocationDegrees longitude;
} CLLocationCoordinate2D;
//位置区域
CLLocationCoordinate2D center;
MKCoordinateSpan span;
} MKCoordinateRegion;
//在地图上设置显示区域
- (void)setRegion:(MKCoordinateRegion)region animated:(BOOL)animated;
- (void)setCenterCoordinate:(CLLocationCoordinate2D)coordinate animated:(BOOL)animated;
MapView会将一些事件传递给它的代理(遵守MKMapViewDelegate协议),代理方法如下:
mapViewWillStartLoadingMap: 当地图界面将要加载时调用
mapView:viewForAnnotation: 当地图上有一些动画效果展示\加载时调用
mapViewWillStartLocatingUser:当准备进行一个位置定位时调用
mapView:regionDidChangeAnimated: 当显示的区域发生变化时调用
mapView:didUpdateUserLocation:当用户位置发生变化时调用
具体实例如下:
1、导入CoreLocation/Mapkit框架
2、拖入一个UIMapView控件到控制器中
3、在ViewController.m文件中导入必要的库文件
4、将MapView关联为IBOutLet属性,同时让ViewController类实现地图协议
5、代码实现功能
//显示地图
//实现地图协议
#pragma mark -mapView的方法
演示结果截图:
加载调用了代理方法,输出为:
地图显示:
程序猿神奇的手,每时每刻,这双手都在改变着世界的交互方式!
本文转自当天真遇到现实博客园博客,原文链接:http://www.cnblogs.com/XYQ-208910/p/4893237.html,如需转载请自行联系原作者