2012-12-27 100 views
4

在我的應用程序中有一個MKMapView,我試圖獲取當前可見的地圖區域的中心座標。我正在使用以下方法,以便如果用戶移動可見區域,我會得到新的中心座標。MKMapView中心位置

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

CLLocationCoordinate2D centre = [mapView centerCoordinate]; 

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

的問題是,當我切換到包含MKMapView它給MAP CENTER = 0.000000,0.000000兩次的UIViewController然後給出實際座標MAP CENTER = 55.755786,37.617633。當我切換到UIViewController時,我需要實際座標。

回答

3

座標(55.755786,37.617633)您當前的位置?

MKMapView需要一段時間才能鎖定GPS以獲取當前位置的座標。在此之前centerCoordinate可能會返回(0,0)

+0

這是由於此代碼'MKUserLocation * userLocation = mapView.userLocation; MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance( userLocation.location.coordinate,500000,500000); [mapView setRegion:region animated:NO]; ' 如果我刪除這個代碼,它給''centerCoordinate'' 30.0000,-40.0000'我不想那樣。 所以現在我已經把靜態'centerCoordinate'來解決這個問題。 –

1

試試這個可以幫助你。

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