苹果原生地图(下)

日常生活中我们经常会用到地图和导航, 这两个功能必须基于2个框架进行开发:

  • MapKit :用于地图展示
  • CoreLocation :用于地理定位

MapKit

几个重要属性


1.可以通过设置MKMapView的mapViewType设置地图类型

MKMapTypeStandard :普通地图(左图)
MKMapTypeSatellite :卫星云图 (中图)
MKMapTypeHybrid :普通地图覆盖于卫星云图之上

2.设置MKMapView的userTrackingMode属性可以跟踪显示用户的当前位置

MKUserTrackingModeNone :不跟踪用户的位置
MKUserTrackingModeFollow :跟踪并在地图上显示用户的当前位置
MKUserTrackingModeFollowWithHeading :跟踪并在地图上显示用户的当前位置,地图会跟随用户的前进方向进行旋转

MKMapView的代理

跟踪到用户位置通过代理告知, 常见代理方法:


// 一个位置更改默认只会调用一次,不断监测用户的当前位置 
// 每次调用,都会把用户的最新位置(userLocation参数)传进来
- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation;
// 地图的显示区域即将发生改变的时候调用
- (void)mapView:(MKMapView *)mapView regionWillChangeAnimated:(BOOL)animated;
// 地图的显示区域已经发生改变的时候调用
- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated;

MKUserLocation

MKUserLocation其实是个大头针模型,包括以下属性:

// 显示在大头针上的标题
@property (nonatomic, copy) NSString *title;

// 显示在大头针上的子标题
@property (nonatomic, copy) NSString *subtitle;

// 地理位置信息(大头针钉在什么地方?)
@property (readonly, nonatomic) CLLocation *location;

你可能感兴趣的:(地图)