将UIView上的距离转换为MKMapView的距离

时间:2014-12-15 10:02:03

标签: objective-c mkmapview cgrect

基本上,我试图与Convert distance on MKMapView to distance for UIView相反。

我在UI视图中有一个距离,并希望将其转换为MK-MapView的距离。

2 个答案:

答案 0 :(得分:2)

为什么不直接进入文档?在这种情况下,你显然没有。

如果你有,你会找到方法......

- (MKCoordinateRegion)convertRect:(CGRect)rect
                 toRegionFromView:(UIView *)view

链接问题中方法之后的那个。

所以只需使用此方法从链接问题中撤消该过程。

Documentation for MKMapView

BTW,要找到任何类的文档,只需将类名放入Google即可。第一个链接(大部分时间)将是Apple文档的链接。

答案 1 :(得分:0)

在Fogmeister和iOS how to calculate size width to meters in every region(any location and any zoom)的帮助下,我的代码如下:

CGRect myRect = CGRectMake(0, 0, 0, 400);
MKCoordinateRegion myRegion= [mapView convertRect:myRect toRegionFromView:mapView];
CLLocationDegrees deltaLatitude = myRegion.span.latitudeDelta;
CLLocationDegrees deltaLongitude = myRegion.span.longitudeDelta;
CGFloat latitudeCircumference = 40075160 * cos(mapView.region.center.latitude * M_PI / 180);
NSLog(@"x: %f; y: %f", deltaLongitude * latitudeCircumference / 360, deltaLatitude * 40008000 / 360);

y应包含以米为单位的距离。你知道我是否犯过任何错误吗?