MKMapView设置区域

问题描述:

我试图使用MKMapView。我成功地让世界地图出现。不过,我似乎无法改变区域:MKMapView设置区域

我有一个按钮,将执行此:

NSLog(@"%f, %f, %f, %f, 
mapView.region.center.latitude, 
mapView.region.center.longitude, 
mapView.region.span.latitudeDelta, 
mapView.region.span.longitudeDelta); 

现在,在我的viewDidLoad的方法,我试图起始区域设置为视图:

CLLocationCoordinate2D startCoord; 
startCoord.latitude = 49.0; 
startCoord.longitude = -123.0; 
[mapView setRegion:MKCoordinateRegionMakeWithDistance(startCoord, 200, 200) animated:YES]; 

当视图确实加载时,它显示了与预期相同的世界地图而不是较小的区域。立即登录该区域的属性,给我:

0.000000,0.001417,0.000000,0.000000

移动地图张望了一下,调整大小和缩放不会改变这些值(除了第二个追溯到0.000000) 。

这似乎是mapView.region不对应我在屏幕上看到的,但我很确定我正确地制作了IB链接,现在我正在查看它们。可能是什么问题呢?

+0

[MapView的regionThatFits:MKCoordinateRegionMakeWithDistance(startCoord,200,200);将此行添加到您的代码中。 – Harsh

你需要做的

CLLocationCoordinate2D startCoord = CLLocationCoordinate2DMake(49, -123); 
MKCoordinateRegion adjustedRegion = [mapView regionThatFits:MKCoordinateRegionMakeWithDistance(startCoord, 200, 200)]; 
[mapView setRegion:adjustedRegion animated:YES];