在我的应用程序中有一个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
时,我想要实际的坐标。
答案 0 :(得分:3)
坐标(55.755786,37.617633)
是您当前的位置吗?
MKMapView
需要一些时间锁定GPS才能获取当前位置的坐标。在此之前centerCoordinate
可能会返回(0,0)
答案 1 :(得分:1)
试试这可能会对你有帮助。
self.mapView.centerCoordinate = self.mapView.userLocation.location.coordinate;