0

我需要将框架设置为用作 pinAnnotation 图像的图像。

这是我添加的图像,

MKAnnotationView* annotationView = [objMapView dequeueReusableAnnotationViewWithIdentifier:annotationIdentifier];
    if(!annotationView)
    {
        annotationView = [[MKAnnotationView alloc] initWithAnnotation:annotation
                                                      reuseIdentifier:annotationIdentifier];
    }

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

在此处输入图像描述

当前视图是这样的……而该图像将用于每个 annotationPin。虽然这张图片很大,但我如何设置框架以使其适合我的框架。这些图像将来自 webService。

视图应该是这样的......(我改变了图像的大小)

在此处输入图像描述

在此处输入图像描述

在注释上设置图像:

UIImageView *imgV = [[UIImageView alloc] initWithImage:[UIImage imageNamed:joinString]];
        [imgV setFrame:CGRectMake(0, 0, 40, 40)];
         annotationView.image = imgV.image;

// join String 是包含从 webService 获取的图像的字符串。

4

2 回答 2

0

The mapView delegate has a method called viewForAnnotation. You should be able to set the frame of your annotation view simply by accessing it and changing it to whatever you like.

于 2013-10-23T13:07:46.217 回答
0

您可以使用以下内容:

  • (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id)annotation {

    MKAnnotationView *annView = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:nil];

    UIImage *image = [UIImage imageNamed:@"image.png"]; UIImageView *imageView = [[UIImageView alloc] initWithImage:image]; [annView addSubview:imageView]; [imageView 发布];

    MKPinAnnotationView *pinView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:nil];
    [annView addSubview:pinView]; [pinView发布];

    返回安视图;}

于 2013-10-23T13:21:12.080 回答