在我的应用程序中,有一个MKMapView
,我正在尝试获取当前可见的地图区域的中心坐标。我正在使用以下方法,以便如果用户移动可见区域,我将获得新的中心坐标。
- (void)mapView:(MKMapView *)mapView1 regionDidChangeAnimated:(BOOL)animated
{
CLLocationCoordinate2D centre = [mapView centerCoordinate];
NSLog(@"MAP CENTER = %f,%f",centre.latitude,centre.longitude);
}
问题在于,当我切换到包含MKMapView
的UIViewController
时,它会两次给出MAP CENTER = 0.000000,0.000000
,然后才会给出实际坐标MAP CENTER = 55.755786,37.617633
。我希望在切换到该UIViewController
时能立即获得实际坐标。
MKUserLocation *userLocation = mapView.userLocation; MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance ( userLocation.location.coordinate, 500000, 500000); [mapView setRegion:region animated:NO];
是导致问题的原因。如果我删除这段代码,地图的centerCoordinate
将会是30.0000,-40.0000
,而我不想要这个结果。为了暂时解决这个问题,我已经将centerCoordinate
设为静态值。 - Ankur Arya