我正在使用适用于 iOS 的新 Google Maps SDK
我能得到真正的坐标形式 GMSMapView.center 吗?现在它返回一个 CGPoint 的值,但它不是真正的坐标。
感谢和问候。
我正在使用适用于 iOS 的新 Google Maps SDK
我能得到真正的坐标形式 GMSMapView.center 吗?现在它返回一个 CGPoint 的值,但它不是真正的坐标。
感谢和问候。
使用mapview的projection
方法- (CLLocationCoordinate2D)coordinateForPoint:(CGPoint)point
将地图中的一个点转换为地理坐标
CGPoint point = mapView.center;
CLLocationCoordinate2D coor = [mapView.projection coordinateForPoint:point];
我建议使用[yourMapView.camera target]
代替Jing的解决方案。
Jing 的解决方案在 iOS 6 上运行良好,但在 iOS 7/7.1 上可能有问题,投影可能会报告错误的坐标(有点向下移动)!我已经检查了地图边界和填充是否正确,两者的结果都[projection pointForCoordinate: coordinate]
可以[projection coordinateForPoint:point]
相互对比,不知道问题出在哪里......
这是如何做到这一点 Swift 4
let coordinate = mapView.projection.coordinate(for: mapView.center)
你在找mapView.camera.target
吗?这是一个CLLocationCoordinate2D
.
如果允许用户与地图交互,也许更好的方法是使用地图的 did-become-idle 委托方法。在这里您可以获得每次相机更改后的中心坐标。
func mapView(_ mapView: GMSMapView, idleAt position: GMSCameraPosition) {
print(position.target)
}
斯威夫特 4
let point = mapView.center
let coordinate = mapView.convert(point, toCoordinateFrom: mapView)