天天看点

iOS:UIMapView地图视图控件的简单使用

可以通过设置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框架

iOS:UIMapView地图视图控件的简单使用

2、拖入一个UIMapView控件到控制器中

iOS:UIMapView地图视图控件的简单使用

3、在ViewController.m文件中导入必要的库文件

iOS:UIMapView地图视图控件的简单使用

4、将MapView关联为IBOutLet属性,同时让ViewController类实现地图协议

iOS:UIMapView地图视图控件的简单使用

5、代码实现功能

//显示地图

iOS:UIMapView地图视图控件的简单使用
iOS:UIMapView地图视图控件的简单使用

//实现地图协议

#pragma mark -mapView的方法

iOS:UIMapView地图视图控件的简单使用
iOS:UIMapView地图视图控件的简单使用

演示结果截图:

加载调用了代理方法,输出为:

地图显示:

iOS:UIMapView地图视图控件的简单使用

程序猿神奇的手,每时每刻,这双手都在改变着世界的交互方式!

本文转自当天真遇到现实博客园博客,原文链接:http://www.cnblogs.com/XYQ-208910/p/4893237.html,如需转载请自行联系原作者

继续阅读