Ios 将CLLocationCoordinate2D和半径转换为GMSMapView的缩放和中心点

Ios 将CLLocationCoordinate2D和半径转换为GMSMapView的缩放和中心点,ios,objective-c,swift,google-maps-sdk-ios,Ios,Objective C,Swift,Google Maps Sdk Ios,我有一个屏幕,中心有平方,偏移量为y坐标和固定宽度,我需要保存坐标和平方半径并将其发送到服务器,之后,我需要恢复屏幕状态。 第一部分很简单: let radius:CGFloat = 200 let centerYCoordinate:CGFloat = (self.view.bounds.size.height/2)-30 let left = self.mapView.projection.coordinate(for: CGPoint.init(x: (self.view.bounds.

我有一个屏幕,中心有平方,偏移量为y坐标和固定宽度,我需要保存坐标和平方半径并将其发送到服务器,之后,我需要恢复屏幕状态。 第一部分很简单:

let radius:CGFloat = 200
let centerYCoordinate:CGFloat = (self.view.bounds.size.height/2)-30

let left = self.mapView.projection.coordinate(for: CGPoint.init(x: (self.view.bounds.size.width/2)-radius, y: centerYCoordinate-radius))
let right = self.mapView.projection.coordinate(for: CGPoint.init(x: (self.view.bounds.size.width/2)+radius, y: centerYCoordinate-radius))
let center = self.mapView.projection.coordinate(for: CGPoint.init(x: (self.view.bounds.size.width/2), y: centerYCoordinate))
let leftLocation = CLLocation.init(latitude: left.latitude, longitude: left.longitude)
let rightLocation = CLLocation.init(latitude: right.latitude, longitude: right.longitude)
let distance = leftLocation.distance(from: rightLocation)
但我找不到任何可能的东西如何通过中心坐标和半径恢复状态,有人有什么想法吗

编辑:我找到了计算缩放的方法

let radius:CGFloat = 200 
let screenWidhtInPoints: CGFloat = radius*2
let zoom = GMSCameraPosition.zoom(at: location, forMeters: distance, perPoints: screenWidhtInPoints)
但我怎样才能使y坐标中心偏移30点呢