如何在iphone中获取gmsmapview的坐标中心

时间:2013-02-27 02:56:34

标签: iphone ios google-maps-sdk-ios

我正在使用新的Google Maps SDK for iOS

我可以从GMSMapView.center获取真正的坐标吗? 现在它返回一个CGPoint值,但它不是真正的坐标。

感谢和问候。

6 个答案:

答案 0 :(得分:41)

使用地图视图的projection方法- (CLLocationCoordinate2D)coordinateForPoint:(CGPoint)point将地图中的点转换为地质坐标

CGPoint point = mapView.center;
CLLocationCoordinate2D coor = [mapView.projection coordinateForPoint:point];

答案 1 :(得分:39)

我建议使用[yourMapView.camera target]代替Jing的解决方案。

Jing的解决方案在iOS 6上运行良好,但可能在iOS 7 / 7.1上有问题, 投影可能报告错误的坐标(有点向下移动)! 我检查了地图边界并且填充是正确的,[projection pointForCoordinate: coordinate][projection coordinateForPoint:point]的结果都可以相互对比,没有想法问题在哪里......

答案 2 :(得分:8)

您在寻找mapView.camera.target吗?这是CLLocationCoordinate2D

答案 3 :(得分:7)

以下是Swift 4

中的操作方法
let coordinate = mapView.projection.coordinate(for: mapView.center)

答案 4 :(得分:0)

雨燕4

let point = mapView.center
let coordinate = mapView.convert(point, toCoordinateFrom: mapView)

答案 5 :(得分:0)

如果允许用户与地图交互,也许一种更好的方法是使用地图的did-become-idle委托方法。在这里,您可以在每次更换相机后获取中心坐标。

func mapView(_ mapView: GMSMapView, idleAt position: GMSCameraPosition) {
    print(position.target)
}