MKMapView centerLocation

时间:2012-12-27 11:04:35

标签: ios mkmapview cllocation

在我的应用程序中有一个MKMapView,我正在尝试获取当前可见的地图区域的中心坐标。我正在使用以下方法,以便如果用户移动可见区域,我将获得新的中心坐标。

- (void)mapView:(MKMapView *)mapView1 regionDidChangeAnimated:(BOOL)animated
{

CLLocationCoordinate2D centre = [mapView centerCoordinate];

NSLog(@"MAP CENTER = %f,%f",centre.latitude,centre.longitude);
}

问题是,当我切换到包含UIViewController的{​​{1}}时,它会MKMapView两次,然后会给出实际坐标MAP CENTER = 0.000000,0.000000。我切换到MAP CENTER = 55.755786,37.617633时,我想要实际的坐标。

2 个答案:

答案 0 :(得分:3)

坐标(55.755786,37.617633)是您当前的位置吗?

MKMapView需要一些时间锁定GPS才能获取当前位置的坐标。在此之前centerCoordinate可能会返回(0,0)

答案 1 :(得分:1)

试试这可能会对你有帮助。

self.mapView.centerCoordinate = self.mapView.userLocation.location.coordinate;