Finding distance between CLLocationCoordinate2D points
You should create an object of CLLocation using,
- (id)initWithLatitude:(CLLocationDegrees)latitude longitude:(CLLocationDegrees)longitude;
Then, you should be able to calculate the distance using
[location1 distanceFromLocation:location2];
Swift 5:
extension CLLocation { /// Get distance between two points /// /// - Parameters: /// - from: first point /// - to: second point /// - Returns: the distance in meters class func distance(from: CLLocationCoordinate2D, to: CLLocationCoordinate2D) -> CLLocationDistance { let from = CLLocation(latitude: from.latitude, longitude: from.longitude) let to = CLLocation(latitude: to.latitude, longitude: to.longitude) return from.distance(from: to) }}
If it is ok for you to get distance in meters between points, then
CLLocationCoordinate2D coordinate1 = <some value>CLLocationCoordinate2D coordinate2 = <some value>…MKMapPoint point1 = MKMapPointForCoordinate(coordinate1);MKMapPoint point2 = MKMapPointForCoordinate(coordinate2);CLLocationDistance distance = MKMetersBetweenMapPoints(point1, point2);
will return the distance between two points. No needs to create CLLocation
by given CLLocationCoordinate2D
. This defines are available since iOS 4.0