3

如何实现 MapKit 方法

[googleMapView convertPoint:nePoint toCoordinateFromView:pinView];

在适用于 iOS 的 Google Maps SDK 中?

4

1 回答 1

9

你可以使用这样的东西:

GMSMapView* mapView = ...;
CGPoint point = ...;
...
CLLocationCoordinate2D coordinate = 
    [mapView.projection coordinateForPoint: point];

在这种情况下point应该是相对于地图视图。

如果您有一个相对于另一个视图的点(例如pinView在您的情况下),您需要先将其转换为相对于地图视图的点。您可以通过以下方式做到这一点:

UIView* pinView = ...;
CGPoint pinViewPoint = ...;
...
CGPoint mapViewPoint = [pinView convertPoint: pinViewPoint toView: mapView];

所以将它们结合在一起:

GMSMapView* mapView = ...;
UIView* pinView = ...;
CGPoint pinViewPoint = ...;
...
CGPoint mapViewPoint = [pinView convertPoint: pinViewPoint toView: mapView];
CLLocationCoordinate2D coordinate = 
    [mapView.projection coordinateForPoint: mapViewPoint];
于 2013-02-21T22:46:49.023 回答