How to put contacts in the form of a card?

I am a new user of the iPhone app. I wanted to show contacts in my MKMapView. How should I do it?

Give me some valuable suggestions.

+4
source share
3 answers

You need to create a delegate that implements the MKAnnotation protocol:

@interface AnnotationDelegate : NSObject <MKAnnotation> { CLLocationCoordinate2D coordinate; } @property (nonatomic, readonly) CLLocationCoordinate2D coordinate; - (id) initWithCoordinate:(CLLocationCoordinate2D)coord; @end @implementation AnnotationDelegate @synthesize coordinate; - (id) initWithCoordinate:(CLLocationCoordinate2D)coord { coordinate.latitude = coord.latitude; coordinate.longitude = coord.longitude; return self; } @end 

For each of your map points, you need to create an instance of one of the AnnotionDelegate objects (passing in the coordinates of the point) and add it to MKMapView:

 AnnotationDelegate * annotationDelegate = [[[AnnotationDelegate alloc] initWithCoordinate:coordinate] autorelease]; [self._mapView addAnnotation:annotationDelegate]; 
+4
source
 NSString * urlString = nil; urlString = [NSString stringWithFormat: @"http://maps.google.com/maps?saddr=%f,%f&daddr=%@",12.58, 77.35, [NSString stringWithFormat:@"%@,%@,%@",[detailInfoDict valueForKey:@"address"],[detailInfoDict valueForKey:@"city"],[detailInfoDict valueForKey:@"state"]]]; urlString = [urlString stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]; [[UIApplication sharedApplication] openURL:[NSURL URLWithString: urlString]] 
+1
source
 if([points retainCount] > 0) { [points release]; points = nil; } if([annotationAry retainCount] > 0) { [annotationAry release]; annotationAry = nil; } points = [[NSMutableArray alloc]init]; annotationAry = [[NSMutableArray alloc]init]; for(int i=0;i<[longitudeary count];i++) { CLLocation* currentLocation1 = [[CLLocation alloc] initWithLatitude:[[latitudeary objectAtIndex:i]doubleValue] longitude:[[longitudeary objectAtIndex:i]doubleValue]]; [points addObject:currentLocation1]; } for(int i=0;i<[points count];i++) { // CREATE THE ANNOTATIONS AND ADD THEM TO THE MAP CSMapAnnotation* annotation = nil; // create the start annotation and add it to the array annotation = [[[CSMapAnnotation alloc] initWithCoordinate:[[points objectAtIndex:i] coordinate] annotationType:CSMapAnnotationTypeImage title:@"123456..." shID:[shIDary objectAtIndex:i] catID:[catIDary objectAtIndex:i] ciggUse:[ciggaretteUSEary objectAtIndex:i] wifiUse:[wifiUSEary objectAtIndex:i] controller:self]autorelease]; [annotationAry addObject:annotation]; } [mapViewmy addAnnotations:[NSArray arrayWithArray:annotationAry]]; 
0
source

All Articles