如何在mapview中添加自定义标注视图

Mah*_*abu 9 iphone objective-c mkmapview mkannotationview

我是objective-c中的mapkit新手.我可以在mapview中添加自定义注释.

我需要放置自定义标注视图,如下图所示

像这样.

但我没有得到如何设计这样的标注视图.

我知道我需要在视图中为注释方法添加callout.

- (MKAnnotationView *)mapView:(MKMapView *)map viewForAnnotation:(id <MKAnnotation>)annotation
{
    static NSString *AnnotationViewID = @"annotationViewID";

    MKAnnotationView *annotationView = (MKAnnotationView *)[mapview dequeueReusableAnnotationViewWithIdentifier:AnnotationViewID];

    if (annotationView == nil)
    {
        annotationView = [[[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:AnnotationViewID] autorelease];
    }

    annotationView.image = [UIImage imageNamed:@"blue_without_pin.png"];
    annotationView.annotation = annotation;


    return annotationView;
}
Run Code Online (Sandbox Code Playgroud)

Pat*_*NLT 0

基本上,您想要做的是通过在 MKMapViewDelegate 实例中实现以下方法来添加新的自定义视图:

- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view {
    CGPoint annotationCenter = [mapView convertCoordinate:view.annotation.coordinate toPointToView:mapView];
    [self displayCustomCalloutForAnnotation:view.annotation center:annotationCenter];
}
Run Code Online (Sandbox Code Playgroud)