Search code examples
xcodemkmapviewmapkitmkpinannotationview

MKMap pin colors doesn't shows up


I can't imagine why it doesn't works.. I want change pin color, and use some other things that this method offers, but it just doesn't work. Maybe im using this method wrong? Example would be best, thank you.

    [mapView setMapType: MKMapTypeStandard];
[mapView setZoomEnabled:YES];
[mapView setScrollEnabled:YES];
for (NSDictionary *dict in self.klubiArray3) {
double latid = [[dict valueForKey:@"LatiS"] doubleValue];
double longid =[[dict valueForKey:@"LongiS"] doubleValue];
MKCoordinateRegion region = {{0.0, 0.0}, {0.0, 0.0}};


region.span.latitudeDelta = 0.005;
region.span.longitudeDelta = 0.005;
region.center.latitude = latid;
region.center.longitude = longid;

[mapView setRegion:region animated:YES];

NewClass *ann = [[NewClass alloc] init];
ann.title = [dict valueForKey:@"AnnotM"];
ann.subtitle = [dict valueForKey:@"Adress"];;
ann.coordinate = region.center;

[mapView addAnnotation:ann ];
}
 }
#pragma mark MKMapViewDelegate
- (MKAnnotationView *)mapView:(MKMapView *)map viewForAnnotation:(id <MKAnnotation>)annotation
{
       NSLog(@"Controll comes here");

if (annotation == mapView.userLocation) 
    return nil;

MKPinAnnotationView *pin = (MKPinAnnotationView *) [mapView dequeueReusableAnnotationViewWithIdentifier: @"asdf"];

if (pin == nil)
    pin = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier: @"asdf"] ;
else
    pin.annotation = annotation;
pin.userInteractionEnabled = YES;
UIButton *disclosureButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure]; 
[disclosureButton setFrame:CGRectMake(0, 0, 30, 30)];

pin.rightCalloutAccessoryView = disclosureButton;
pin.pinColor = MKPinAnnotationColorPurple;
//pin.animatesDrop = YES;
[pin setEnabled:YES];
[pin setCanShowCallout:YES];
return pin;

 }

Solution

  • Found out, i had forgotten to connect my map delegate in Interface Builder.