En mis aplicaciones Solía MKDirections para obtener rutas (a pie) de distancia entre dos ubicación.
CLLocationCoordinate2D startCoordinates = YOUR_START_COORDINATES;
CLLocationCoordinate2D endCoordinates = YOUR_END_COORDINATES;
MKPlacemark *startPoint = [[MKPlacemark alloc] initWithCoordinate:startCoordinates];
MKPlacemark *endPoint = [[MKPlacemark alloc] initWithCoordinate:endCoordinates];
MKMapItem *startItem = [[MKMapItem alloc] initWithPlacemark:startPoint];
MKMapItem *endItem = [[MKMapItem alloc] initWithPlacemark:endPoint];
MKDirectionsRequest *request = [[MKDirectionsRequest alloc] init];
request.source = startItem;
request.destination = endItem;
request.transportType = MKDirectionsTransportTypeAutomobile; //here you can choose a transport type you need
MKDirections *direction = [[MKDirections alloc] initWithRequest:request];
[direction calculateDirectionsWithCompletionHandler:^(MKDirectionsResponse * _Nullable response, NSError * _Nullable error) {
if (response) {
for (MKRoute *route in response.routes) {
NSLog(@"Distance : %f", route.distance);
}
}
}];
Si usted tiene lugar como una dirección, por lo que puede utilizar el método de CLGeocoder, que le dará la latitud y longitud de su dirección
- (void)geocodeAddressString:(NSString *)addressString completionHandler:(CLGeocodeCompletionHandler)completionHandler;
Si se compara el resultado distancia de conducción utilizando MKDirections con el uso de Google Maps, se verá que se diferencian. Estaba buscando en relación con este asunto y me encontré con el siguiente enlace http://www.macworld.co.uk/review/reference-education/apple-maps-vs-google-maps-3464377/
A pesar de que Apple ha sido la mejora de su servicio de mapas, que todavía reconocen en la precisión de Google (OMI), al menos en una pregunta con respecto a la distancia de conducción. Así que si la precisión no es muy importante en su caso, de modo que pueda seguir adelante con Apple. De lo contrario, recomendaría comprobar la API de Google.