Вот код - он говорит сам за себя (см., В частности, @todo в коде):
// Handle taps of certain table rows
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// Set up start location
CLLocationCoordinate2D start;
// Initialize the location manager, to get user location
locationController = [[JJGCLController alloc] init];
locationController.delegate = self;
[locationController.locationManager startUpdatingLocation];
// @todo - Get the latitude/longitude values back from my controller, and
// set them as the start coordinates.
//start.latitude = location.coordinate.latitude;
//start.longitude = location.coordinate.latitude;
CLLocationCoordinate2D destination;
destination.latitude = (CLLocationDegrees)[pLatitude doubleValue];
destination.longitude = (CLLocationDegrees)[pLongitude doubleValue];
NSString *googleMapsURLString = [NSString stringWithFormat:@"http://maps.google.com/?saddr=%1.6f,%1.6f&daddr=%1.6f,%1.6f",
start.latitude, start.longitude, destination.latitude, destination.longitude];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:googleMapsURLString]];
}
По сути, я пытаюсь настроить диспетчер / контроллер местоположения, чтобы получить местоположение пользователя, чтобы я мог настроить ссылку, которая откроется в приложении "Карты" с маршрутом от местоположения пользователя до пункта назначения (широта / долгота) от pLatitude и pLongitude соответственно).
Я следовал руководству Hello There: Core Location Tutorial, чтобы добавить свой собственный класс контроллера местоположения (JJGCLController), и в методе - (void)locationUpdate:(CLLocation *)location
моего контроллера представления я могу видеть местоположение, но не могу получить координаты в методе didSelectRowAtIndexPath
моего табличного представления.
По сути, мое приложение отображает адрес в каждой ячейке таблицы, и когда пользователь нажимает на адрес, я хочу, чтобы приложение «Карты» загрузилось, а затем появился маршрут от текущего местоположения пользователя до адреса.