将MKMapRect转换为CGRect

NMu*_*nro 6 objective-c mapkit mkmaprect

我试图找出MKMapRect的大小(即iPhone的320x568分).

是否有类似于将坐标转换为点的东西?即

[self.mapView convertCoordinate:coordinate1 toPointToView:self.view];
Run Code Online (Sandbox Code Playgroud)

小智 7

地图视图具有将convertRegion:toRectToView:MKCoordinateRegion转换为CGRect相对于指定视图的方法.

如果你有MKMapRect,首先将其转换为MKCoordinateRegion使用该MKCoordinateRegionForMapRect函数然后调用convertRegion:toRectToView:.

例:

MKCoordinateRegion mkcr = MKCoordinateRegionForMapRect(someMKMapRect);

CGRect cgr = [mapView convertRegion:mkcr toRectToView:self.view];
Run Code Online (Sandbox Code Playgroud)


记住的是,虽然MKMapRect作为地图缩放或平移一段固定的区域将不会改变,相应的CGRect 其变化originsize.