当我们在苹果的官方文档上面选择MapKit框架的时候会看到一列的类。下面我们学习其中的一些。
当我们在地图上面增加覆盖物的时候,都需要实现苹果给我们的协议。我最近学习的是在地图上面画线和画圆形,
MKCircle 这个方法是苹果官方提供的方法,它其实已经实现了MKOverlay协议,单击进去看代码就知道。这个类很简单
MKCircle *circleTargePlace=[MKCircle circleWithCenterCoordinate:CLLocationCoordinate2DMake(30.33423, 104.245354) radius:2000];
[_mapView addOverlay:circleTargePlace];
这样就在地图上面增加了一个圆形覆盖。但是就这样的画我们是看不到的。需要实现代理方法,去设置背景色,线宽什么的。
- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id)overlay
{
if ([overlay isKindOfClass:[MKCircle class]]) {
MKCircleView *_circleView= [[MKCircleView alloc] initWithCircle:overlay] ;
_circleView.fillColor = [UIColor yellowColor];
_circleView.strokeColor = [UIColor redColor];
_circleView.lineWidth=2.0;
return _circleView;
}
MKCircleView这里这个其实是圆形覆盖物要画在上面的View.我们需要设置填充色,线宽都是设置的MKCircleView。