MapKit框架的初步使用

来源:互联网 发布:c语言用指针调用函数 编辑:程序博客网 时间:2024/05/21 00:50

MapKit框架是用来显示世界地图的框架,其中大部分的功能由MKMapView类提供,它的实例负责显示地图、跟踪触摸屏幕的动作并显示标注等等。常用的对象有:

MKMapView对象,负责显示地图和已经记录位置的标签。

MKAnnotationView实例若干,用户触摸屏幕的话他们会以图标注解的形式出现在地图上。

在加载地图数据的时候,你还可以显示一个加载数据的动画,一个UIActivityIndicatorView对象,提示用户设备正在工作,并没有停滞。下面是一些常用方法:

1.地图对象的显示类型可以用MKMapType来设置,参数主要有三种:


分别是标准模式,卫星模式和混合模式。

2.可以在你加载MapView对象的Controller中的viewDidLoad方法中让位置信息显示出来:

[self.mapView    setShowsUserLocation: YES];

3.还有许多功能需要方法实现,所以要设置委托,MKMapView对象有delegate属性,可以将其指向Controller对象。声明遵守MKMapViewDelegate协议。

在获取位置后需要根据设备当前的位置来放大地图,总不能在世界地图上显示用户的位置吧- -,于是就需要下面这个方法:


CLLocationCoordinate2D是用来表示经纬度坐标的结构体,在表示放大区域的MKCoordinateRegion中主要有两个成员,一个是CLLocationCoordinate2D表示的中心点,另外一个是MKCoordinateSpan,用来描述放大或缩小的程度,我这里是设置的周围250m。

4.MKAnnotation来标注地点

相应的协议是MKAnnotation协议。

标注地点的View中必需的属性是CLLocationCoordinate2D(nonatomic, readonly),还有可选的,比如你在点标注的时候标注会显示个标题title等等。

5.UIActivityIndicator

在加载地图数据的时候发送startAnimating消息;

加载结束要显示地图具体位置时候发送stopAnimating消息。


最后说点题外话,上篇文章被VeryDemo抓走了,这个随意抓取人文章的网站最近貌似很火,不会被K吗?