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

//位置经纬度

typedef struct {

CLLocationDegrees latitude;

CLLocationDegrees longitude;

} CLLocationCoordinate2D;

//位置区域

typedef struct {

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、代码实现功能
//显示地图
- (void)viewDidLoad {
[super viewDidLoad];
//设置地图的属性
self.mapView.mapType = MKMapTypeHybrid; //设置区域的经纬度坐标
CLLocationCoordinate2D coordinate = CLLocationCoordinate2DMake(, );//(经度、纬度) //设置经纬度范围(越小越精确)
MKCoordinateSpan span = MKCoordinateSpanMake(0.1, 0.1); //设置地图显示的区域
self.mapView.region = MKCoordinateRegionMake(coordinate, span); //设置地图的代理
self.mapView.delegate = self;
}

//实现地图协议

#pragma mark -mapView的方法

#pragma mark -地图开始加载
-(void)mapViewWillStartLoadingMap:(MKMapView *)mapView
{
NSLog(@"开始加载地图");
}
#pragma mark -地图加载完毕
-(void)mapViewDidFinishLoadingMap:(MKMapView *)mapView
{
NSLog(@"地图加载完毕");
}
#pragma mark -地图区域将要改变
-(void)mapView:(MKMapView *)mapView regionWillChangeAnimated:(BOOL)animated
{
MKCoordinateRegion region = mapView.region; NSLog(@"经度:%f,纬度:%f",region.center.latitude,region.center.longitude);
}
#pragma mark -地图区域已经改变
-(void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated
{
MKCoordinateRegion region = mapView.region; NSLog(@"经度:%f,纬度:%f",region.center.latitude,region.center.longitude);
}

演示结果截图:

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

-- ::19.241 -mapkit-MapView[:] 开始加载地图
-- ::19.261 -mapkit-MapView[:] 地图加载完毕

地图显示:

 

iOS:UIMapView地图视图控件的简单使用的更多相关文章

  1. iOS:UITableView表格视图控件

    UITableView:表格视图控件,继承滚动视图控件UIScrollView,(类似于UIPickerView选择器,它主要通过设置数据源代理和行为代理实现协议来设置单元格)    对表格的操作主要 ...

  2. iOS:UIImageView图像视图控件

    UIImageView:图像视图控件:    它是UIView的子类,因此也是视图控件,可以用来显示图像.因为它具有帧动画属性和操作方法,因此可以用来制作动画,其实动画就是很短的时间内,执行显示连续的 ...

  3. iOS:文本视图控件UITextView的详细使用

    文本视图控件:UITextView 介绍:它是一个文本域的编辑视图,可以在该区域上进行编辑(包括删除.剪贴.复制.修改等),它与文本框UITextField的不同之处是:当它里面的每一行内容超出时,可 ...

  4. iOS:网页视图控件UIWebView的详解

    网页视图控件:UIWebView 功能:它是继承于UIView的,是一个内置的浏览器控件,以用来浏览从网络下载下来的网页或者本地上加载下来的文档. 枚举: //网页视图导航类型 typedef NS_ ...

  5. 开源一款iOS中国地图行政区控件(含一级与二级行政区)

    开源一款iOS版中国省市级地图行政区的控件,该组件可以支持拖动.缩放以及全国省和市级行政区的点选,主要适用于iPad,如果要在iPhone上使用,一些细节可能得做相关调整. 该地图组件实现起来不难,数 ...

  6. iOS学习之UIPickerView控件的简单使用

    UIPickerView控件在给用户选择某些特定的数据时经常使用到,这里演示一个简单的选择数据,显示在UITextField输入框里,把UIPickerView作为输入View,用Toolbar作为选 ...

  7. iOS学习之UIPickerView控件的关联选择

    接上篇iOS学习之UIPickerView控件的简单使用 接着上篇的代码 http://download.csdn.net/detail/totogo2010/4391870 ,我们要实现的效果如下: ...

  8. IOS 学习笔记(5) 控件 文本视图(UITextView)的使用方法

    相对于UILabell所支持的较短文本内容,UITextView对于长文本的支持更好.UITextView能够以滚动的方式全部浏览到长文本,并且就像UILabel那样,从ISO6,他也提供了对NSAt ...

  9. iOS:风火轮活动刷新视图控件UIActivityIndicatorView的详细使用

    动态风火轮视图控件:UIActivityIndicatorView   介绍:它是一种类似于风火轮旋转的视图控件,可用作刷新数据时显示加载过程所用,继承自UIView.   类型: typedef N ...

随机推荐

  1. How to insert a character into a NSString

    How do I insert a space to a NSString. I need to add a space at index 5 into: NString * dir = @" ...

  2. Daily Scrum4

    今天我们小组开会内容分为以下部分: part1:与负责这个项目的其他组进行会晤; part2:组内成员召开了简短会议,进行工作安排; part3:总结今日工作,对项目遇到的问题商讨解决办法; ◆Par ...

  3. 团队开发——SCRUM报告(一)

    一.成员介绍 队长:胡亚宝 PM:曹美娜 成员:焦燕.袁亚姣.黄亚萍 二.sprint会议 由于之前是一五一小长假,所以距离上次会议中间隔了很长时间,这里在对上次会议做一下简单的汇总 在上次会议上我们 ...

  4. 30道四则运算题目---课堂作业--软件工程c++

    问题:设计一程序,给二年级小学生随机产生四则运算题目. 一.设计思考问题: 1.四则运算需要俩个运算数和一个运算符. 2.如何产生随机数? 3.如何实现随机产生四则运算? 4.题目是否符合小学生学习范 ...

  5. cf 496B Secret Combination

    题目链接:B. Secret Combination You got a box with a combination lock. The lock has a display showing n d ...

  6. 【POJ】【1821】Fence

    DP/单调队列优化 题意:k个人粉刷总长为n的墙壁(或者说栅栏?),每个人有一个必刷点s[i](这个人也可以一点也不刷,如果刷就必须刷这个点),最大粉刷长度l[i](必须是连续粉刷一段),和粉刷一格的 ...

  7. JS 时分秒验证

  8. 研究AVCaptureDevice

    一.Apple Resource 1. wwdc 2014: Camera Caputre: Manual Controls 2. Exaple code: AVCam&AVCamManul ...

  9. php弱类型

    此处写ctf中遇到的==和md5值为0e**的应用. 数组和字符的===   ==

  10. 超快的 FastText

    Word2Vec 作者.脸书科学家 Mikolov 文本分类新作 fastText:方法简单,号称并不需要深度学习那样几小时或者几天的训练时间,在普通 CPU 上最快几十秒就可以训练模型,得到不错的结 ...