iOS - 地图上的大头针

大头针的添加展示

《1》大头针视图(MKAnnotationView)在地图上展示

<1>MKAnnotationView类似于UITableViewCell

<2>MKAnnotation类似于表视图里面的model

<3>- (nullable MKAnnotationView *)mapView:(MKMapView

*)mapView viewForAnnotation:(id )annotation类似初始化cell的代理方法

<4>如果只添加了annotation会自动添加一个大头针(pinAnnotationView)

《2》介绍:大头针由两部分组成

<1>大头针模型:MKAnnotation是大头针数据的组成、决定大头针显示的内容

所有大头针模型需要遵守的协议:MKAnnotationView

必须实现的方法:经纬度

<2>大头针视图:

MKAnnotationView(自己随意定义大头针的样式)

MKPinAnnotationView(不能改变大头针视图的图片、但可以改变大头针的颜色)

animatesDrop掉落动画的属性

是用于显示内容的view可以定义显示视图的样式

MKAnnotationView可以自定义

《1》初始化:

initWithAnnotation:reuseIdentifier:

《2》image设置大头针图片

《3》centerOffset

中心点的偏移量x正右y正下

《4》calloutOffset插图的偏移量

《5》enabled是否激活默认YES

《6》highlighted是否高亮默认NO

《7》selected是否选中

《8》*canShowCallout设置是否可以显示插入视图

《9》leftCalloutAccessoryView左侧插入视图的附加视图

《10》rightCalloutAccessoryView:右侧插入视图的附加视图

《11》detailCalloutAccessoryViewiOS9之后出现插入视图的详细视图(eg:label控件、button、控件)

《12》draggable是否可以拖拽

《13》dragState拖拽的状态

需求:长按地图上的某一点添加一个大头针大头针上显示地图的真实位置

1、地图上添加一个长按手势

2、添加一个大头针数据模型到地图上

(1)视图上的点需要转换成经纬度

把经纬度转成point-> convertCoordinate:toPointToView:

把Point转成经纬度 -> convertPoint: toCoordinateFromView:

(2)把数据模型需要添加到地图上

addAnnotation:添加一个

addAnnotations:添加一组

removeAnnotation:移除一个

removeAnnotations:移除一组

**isKindOfClass判断来自哪个类

*自定义大头针数据模型需要注意:

(1)必须遵守MKAnnotation协议

(2)必须实现坐标的属性

你可能感兴趣的:(iOS - 地图上的大头针)