同一个mapView中有几个不同的自定义Pins

时间:2011-12-10 19:08:52

标签: mkmapview mkannotationview mapkit

这是我的问题......

我有一个mapView,我用几个自定义引脚填充视图。 我会在mapView中使用不同的自定义引脚。

我尝试过使用IF条件但不起作用。 我不明白被调用的方法是如何工作的。

按照代码。 Vi allego il codice。

//Customization of my pins
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation(id<MKAnnotation>)annotation{

    static NSString *identifier = @"";

    MKAnnotationView *pin = [ mappa dequeueReusableAnnotationViewWithIdentifier:identifier ];        

//OLD COORDINATES
    if(newcoordinate == FALSE){

        pin = [[[ MKAnnotationView alloc ] initWithAnnotation:annotation reuseIdentifier:identifier ]autorelease];
        pin.image = [ UIImage imageNamed:@"old.png" ]       
 } 

// NEW COORDINATES
    else ( newcoordinate == TRUE){
        pin = [[[ MKAnnotationView alloc ] initWithAnnotation:annotation reuseIdentifier:identifier ]autorelease];
        pin.image = [ UIImage imageNamed:@"new.png" ];
} 

    pin.canShowCallout = YES;

//CALLOUT INFO
    UIImage *image = [UIImage imageNamed:@"informations.png"];
    UIImageView *imgView = [[[UIImageView alloc] initWithImage:image]autorelease];
    pin.leftCalloutAccessoryView = imgView;

pin.annotation = annotation;

return pin;}

结果是...在同一个mapView中有几个引脚但具有相同的自定义。 :/

谢谢。

1 个答案:

答案 0 :(得分:1)

<强>解决。 我在MyAnnotation类中添加了一个新属性:

@interface MyAnnotation : NSObject <MKAnnotation>
{
    CLLocationCoordinate2D coordinate;
    NSString *title;
    NSString *subtitle;
    BOOL isNew;  // <------- My solution    
}

@property (nonatomic, assign) CLLocationCoordinate2D coordinate;
@property (nonatomic, copy) NSString *title;
@property (nonatomic, copy) NSString *subtitle;
@property (nonatomic, assign) BOOL isNew ; <--------- My solution

今天我已经了解了什么属性。