[关闭]
@SanMao 2015-08-06T00:30:22.000000Z 字数 1879 阅读 1592

地图(MapKit)

定位/地图


MapKit框架的使用

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

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

MKMapView的代理

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

MKUserLocation

  1. @property (nonatomic, copy) NSString *title;
  2. // 显示在大头针上的标题
  3. @property (nonatomic, copy) NSString *subtitle;
  4. // 显示在大头针上的子标题
  5. @property (readonly, nonatomic) CLLocation *location;
  6. // 地理位置信息(大头针钉在什么地方)

自定义大头针

  1. - (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation;
  2. // 根据传进来的(id<MKAnnotation>)annotation参数创建并返回对应的大头针控件

MKAnnotationView

  1. @property (nonatomic, strong) id <MKAnnotation> annotation;
  2. // 大头针模型
  3. @property (nonatomic, strong) UIImage *image;
  4. // 显示的图片
  5. @property (nonatomic) BOOL canShowCallout;
  6. // 是否显示标注
  7. @property (nonatomic) CGPoint calloutOffset;
  8. // 标注的偏移量
  9. @property (strong, nonatomic) UIView *rightCalloutAccessoryView;
  10. // 标注右边显示什么控件
  11. @property (strong, nonatomic) UIView *leftCalloutAccessoryView;
  12. // 标注左边显示什么控件

MKPinAnnotationView

  1. @property (nonatomic) MKPinAnnotationColor pinColor;
  2. // 大头针颜色
  3. @property (nonatomic) BOOL animatesDrop;
  4. // 大头针第一次显示时是否从天而降
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注