What is proper way to get ETA (estimated time arrival) from AnyLocation to MyCurrentLocation?

**I want, when use tap on any annotation, then I have to set details on the Footer according to that annotation and user's current location.** 

Please see below image for better understanding.

[![enter image description here](https://i.stack.imgur.com/Z0m8F.png)](https://i.stack.imgur.com/Z0m8F.png)

I saw this [What is proper way to get ETA (estimated time arrival) from any location to my current location](https://stackoverflow.com/q/18578116/3908884) and this [calculate time taken to cover a journey in Apple Maps](https://stackoverflow.com/q/23084304/3908884) But they didn't solved my problem using this. I am getting always Null response using this. I put my code below:-

```
double latitude = -0.075410;
double longitude = 51.512520;
MKPlacemark *placemark = [[MKPlacemark alloc] initWithCoordinate:CLLocationCoordinate2DMake(latitude, longitude) addressDictionary:nil] ;
MKMapItem *mapItemSource = [[MKMapItem alloc] initWithPlacemark:placemark];

double latitude1 = -0.132128;
double longitude1 = 51.464138;
MKPlacemark *placemark1 = [[MKPlacemark alloc] initWithCoordinate:CLLocationCoordinate2DMake(latitude1, longitude1) addressDictionary:nil] ;
MKMapItem *mapItemDestination = [[MKMapItem alloc] initWithPlacemark:placemark1];

MKDirectionsRequest *directionsRequest = [[MKDirectionsRequest alloc] init];
[directionsRequest setSource:mapItemSource];
[directionsRequest setDestination:mapItemDestination];
directionsRequest.transportType = MKDirectionsTransportTypeAutomobile;
MKDirections *directions = [[MKDirections alloc] initWithRequest:directionsRequest];

[directions calculateETAWithCompletionHandler:^(MKETAResponse *response, NSError *error) {
    if (error) {
        NSLog(@"Error %@", error.description);
    } else {
        NSLog(@"expectedTravelTime %f", response.expectedTravelTime);
    }
}];
//I am not sure why I am getting Null response into calculateETAWithCompletionHandler this method..

//Also tried following......
[directions calculateDirectionsWithCompletionHandler:^(MKDirectionsResponse *response, NSError *error) {
    if (error) {
        NSLog(@"Error %@", error.description);
    } else {
        MKRoute * routeDetails = response.routes.lastObject;
        //[self.mapView addOverlay:routeDetails.polyline];
        NSLog(@"Street %@",[placemark.addressDictionary objectForKey:@"Street"]);
        NSLog(@"distance %@",[NSString stringWithFormat:@"%0.1f Miles", routeDetails.distance/1609.344]);
        NSLog(@"expectedTravelTime %@",[NSString stringWithFormat:@"%0.1f minutes",routeDetails.expectedTravelTime/60]);
    }
}];
//I am not sure why I am getting Null response into calculateDirectionsWithCompletionHandler this method..

```

Also I saw this [Is there any way to determine the driving time between two locations using Apple's Maps API?](https://stackoverflow.com/q/16761157/3908884) and this [How to calculate time required to complete the path in between two locations?](https://stackoverflow.com/q/6094776/3908884). But RightNow, I don't want to use [Google Maps Directions API](https://developers.google.com/maps/documentation/directions/?csw=1). Because my client does not want to use that. If Google APIs are free, then Definitely I preferred that.

Also, I tried `distanceFromLocation` method. But, I think, This solution assumes straight-line distance between two points, which is almost never useful.

Is there any other solution for doing this..??

Any help would be appreciated.