I have a CLLocation defined, and I\'d like to move that point x meters to the east and y meters to the south. How may I achieve that?
A simpler solution is to use MKMapPoints.
Convert your original coordinates, and any offset distances you need to MKMapPoints using this:
let coordinatesInMapPoints = MKMapPointForCoordinate(CLLocationCoordinate2D)
let distancesInMapPoints = yourDistanceInMeters * MKMapPointsPerMeterAtLatitude(CLLocationDegrees) // Do this for both x and y directions if needed.
Then make a new MKMapPoint by simply adding your offset distances to your original coordinates:
let newCoordinatesInMapPoints = MKMapPointMake(coordinatesInMapPoints.x + distancesInMapPoints, coordinatesInMapPoints.y)
Finally, convert the new coordinates from a MKMapPoint back to CLLocationCoordinate2D:
let newCoordinate = MKCoordinateForMapPoint(newCoordinatesInMapPoints)
No complex conversion calculations needed.