Finding distance between CLLocationCoordinate2D points Finding distance between CLLocationCoordinate2D points ios ios

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