地图注释添加图像

时间:2013-06-03 14:55:44

标签: ios mkmapview mkannotationview

下面,我为我的地图创建了一个注释,它完美地运行并显示标题和副标题。

但是我希望在注释的左边添加一个小图片,但是无法弄清楚我需要对下面的代码做些什么来使它工作。

// Annotation
CLLocationCoordinate2D poseLocation;
poseLocation.latitude = POSE_LATITUDE;
poseLocation.longitude = POSE_LONGITUDE;

Annotation *myAnnotation = [[Annotation alloc] init];
myAnnotation.coordinate = poseLocation;
myAnnotation.title = @"Pose Beauty Salon";
myAnnotation.subtitle = @"100, Moneyhaw Road";

[self.myMapView addAnnotation:myAnnotation];

2 个答案:

答案 0 :(得分:2)

您需要先设置myMapView的委托,然后实现viewForAnnotation委托方法。

在那里你将返回具有属性leftCalloutAccessoryView的MKAnnotationView实例:

  

标准标注气泡左侧显示的视图。   此属性的默认值为nil。左侧标注视图是   通常用于显示有关注释或链接的信息   到您的应用程序提供的自定义信息。你的高度   视图应为32像素或更少。

在leftCalloutAccessoryView中,您可以在那里分配图像。例如:

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation {

    MKPinAnnotationView *annotationView = (MKPinAnnotationView *)[self.myMapView dequeueReusableAnnotationViewWithIdentifier:@"annotation"];

    if (annotationView == nil) {
        annotationView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"annotation"];            
        UIImageView *imageView = //initialize your image view here
        annotationView.leftCalloutAccessoryView = imageView;
    }

    annotationView.annotation = annotation;
    return annotationView;
}

PS:显然你在此之前提出了类似的问题:Add image to the left of my annotations。我不确定你是否需要发布另一个问题。请先尝试实现这一点。

答案 1 :(得分:0)

-(MKAnnotationView *) mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation{
MKPinAnnotationView *MyPin=[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"current"];

myImage = [UIImage imageNamed:imagename];
CGRect cropRect = CGRectMake(0.0, 0.0,35.0, 35.0);
myImageView = [[UIImageView alloc] initWithFrame:cropRect];
myImageView.clipsToBounds = YES;
myImageView.image = myImage;
MyPin.leftCalloutAccessoryView =myImageView;
MyPin.highlighted=YES;
MyPin.canShowCallout=YES;
return MyPin;

}

它对我有用,试试这个