How to select a map pin programmatically

Babul picture Babul · Apr 2, 2013 · Viewed 11.6k times · Source

I am new to Maps Concept.

Please find the attached image once.

enter image description here

when i click the "pin" i am getting message says "Admire your smile" or any text..... Now i want like... when we select the table view, i need to raise that message for that pin(with out user interaction for that pin)...

I am using below code for This maps and pins.

    -(void) viewWillAppear:(BOOL)animated
{
[super viewWillAppear:YES];
customLocation.latitude=[casesobjc.latitude_string doubleValue];
        customLocation.longitude=[casesobjc.longitude_string doubleValue];
 MapViewAnnotation *newAnnotation = [[MapViewAnnotation alloc] initWithTitle:casesobjc.locationForMap_string andCoordinate:customLocation];
[mapView addAnnotation:newAnnotation];
}
- (MKAnnotationView *) mapView: (MKMapView *) mapView viewForAnnotation: (id<MKAnnotation>) annotation {
 MKPinAnnotationView *pin = (MKPinAnnotationView *) [mapView dequeueReusableAnnotationViewWithIdentifier: @"annotation_ID"];
if (pin == nil) {
        pin = [[MKPinAnnotationView alloc] initWithAnnotation: annotation reuseIdentifier: @"annotation_ID"];
    } else {
        pin.annotation = annotation;
    }
    pin.pinColor = MKPinAnnotationColorPurple;
    pin.animatesDrop = YES;
    pin.canShowCallout=YES;
return pin;
}

Now i will show all the pins once like below.

enter image description here

How to do When we click on table view i need to show the title for that pin like how we show when we select a pin?

Thanks in Advance

Answer

adamweeks picture adamweeks · Apr 2, 2013

The method that you are looking for is selectAnnotation:.

In your didSelectRowAtIndexPath, you have to find the annotation associated with the table row.

Once you find it, you can tell it, to select it by using:

[mapView selectAnnotation:foundAnnotation animated:YES];