在地图上添加 PinPoint 注释
为了在地图上注释某些兴趣点,我们使用 pin 注释。现在,首先创建一个注释对象。
MKPointAnnotation *pointAnnotation = [[MKPointAnnotation alloc] init];
现在为 pointAnnotation 提供坐标,如
CLLocationCoordinate2D coordinate = CLLocationCoordinate2DMake(23.054625,72.534562);
pointAnnotation.coordinate = coordinate;
现在,为注释提供标题和副标题,
pointAnnotation.title = @"XYZ Point";
pointAnnotation.subtitle = @"Ahmedabad Area";
现在,将此注释添加到地图中。
[self.mapView addAnnotation:pointAnnotation];
是啊..华友世纪……你已经完成了这项工作。你现在可以在给定坐标处看到点注释(红色针脚)。
但是现在,如果你想改变别针的颜色怎么办(3 种颜色可选 - 紫色,红色和绿色)。然后按照此步骤操作。
设置 mapview 的委托给自己,
self.mapView.delegate = self;
添加 MKMapViewDelegate 实现。现在添加以下方法,
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
{
// If it's the user location, just return nil, because it have user location's own annotation, if you want to change that, then use this object;
if ([annotation isKindOfClass:[MKUserLocation class]])
return nil;
if ([annotation isKindOfClass:[MKPointAnnotation class]])
{
//Use dequed pin if available
MKAnnotationView *pinView = [mapView dequeueReusableAnnotationViewWithIdentifier:@"PinAnnotationView"];
if (!pinView)
{
// If not dequed, then create new.
pinView = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"PinAnnotationView"];
pinView.canShowCallout = YES;
pinView.image = [UIImage imageNamed:@"abc.png"];
pinView.calloutOffset = CGPointMake(0, 32);
} else {
pinView.annotation = annotation;
}
return pinView;
}
return nil;
}