【发布时间】:2011-06-12 13:43:35
【问题描述】:
如何将MKMapView 重置为世界视图缩放级别?
【问题讨论】:
标签: ios iphone cocoa cocoa-touch mkmapview
如何将MKMapView 重置为世界视图缩放级别?
【问题讨论】:
标签: ios iphone cocoa cocoa-touch mkmapview
世界的地图矩形存储为名为@987654322@的常量。
MKCoordinateRegion worldRegion = MKCoordinateRegionForMapRect(MKMapRectWorld);
map.region = worldRegion;
另一种方法是设置地图的缩放级别。尽管 MapKit 框架不像 Google Maps API 那样支持缩放级别,但您可以使用由 Troy Brant 编写的 category extension。
将中心坐标设置为 0, 0 缩放级别为 0 以获得相同的结果。
[map setCenterCoordinate:CLLocationCoordinate2DMake(0, 0) zoomLevel:0 animated:0];
【讨论】:
试试这个:
MKCoordinateRegion region = MKCoordinateRegionMake(mapView.centerCoordinate, MKCoordinateSpanMake(180, 360));
[mapView setRegion:region animated:YES];
这将使用当前中心坐标和最大可能跨度(纬度 180 度,经度 360 度)为地图视图设置一个新区域。
【讨论】:
对于那些希望在 Swift 中做到这一点的人:
let region = MKCoordinateRegion(.world)
mapView.setRegion(region, animated: true)
【讨论】:
MKMapView不能缩小显示整个世界。无论您使用什么,MKMapRectWorld、缩放级别 0 或 MKCoordinateSpanMake(180, 360)。
【讨论】: