Более простое решение - использовать MKMapPoints.
Преобразуйте исходные координаты и любые расстояния смещения, которые вам нужны, в MKMapPoints, используя это:
let coordinatesInMapPoints = MKMapPointForCoordinate(CLLocationCoordinate2D)
let distancesInMapPoints = yourDistanceInMeters * MKMapPointsPerMeterAtLatitude(CLLocationDegrees) // Do this for both x and y directions if needed.
Затем создайте новую MKMapPoint, просто добавив расстояния смещения к исходным координатам:
let newCoordinatesInMapPoints = MKMapPointMake(coordinatesInMapPoints.x + distancesInMapPoints, coordinatesInMapPoints.y)
Наконец, преобразуйте новые координаты из MKMapPoint обратно в CLLocationCoordinate2D:
let newCoordinate = MKCoordinateForMapPoint(newCoordinatesInMapPoints)
Не требуется сложных вычислений преобразования.