How to select a map pin programmatically
Solution 1
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];
Solution 2
The same as the Objective C answer, in your tableview you have a list of annotations. In Swift in the didSelectRow
:
For Swift 4:
// annotations would be the array of annotations - change to your required data sets name
let selectedAnnotation = annotations[indexPath.row]
self.mapView.selectAnnotation(selectedAnnotation, animated: true)
Short and simple.
Related videos on Youtube
Babul
Working as iOS Developer. Here to learn and share knowledge
Updated on October 24, 2022Comments
-
Babul over 1 year
I am new to Maps Concept.
Please find the attached image once.
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.
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
-
SanitLee about 9 yearsI think I have quite a similar issue. Could you please help take a look into my question also? I just cannot figure it out especially on how to find the annotation associated with the table row.