MKMapВид в центрРасположение

В моем приложении есть MKMapView, и я пытаюсь получить координаты центра видимой в данный момент области карты. Я использую следующий метод, так что если пользователь перемещает видимую область, я получаю новые координаты центра.

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

CLLocationCoordinate2D centre = [mapView centerCoordinate];

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

проблема в том, что когда я переключаюсь на UIViewController, который содержит MKMapView, он дает MAP CENTER = 0.000000,0.000000 два раза, а затем дает фактические координаты MAP CENTER = 55.755786,37.617633. Мне нужны фактические координаты, как только я переключусь на этот UIViewController.


person Ankur Arya    schedule 27.12.2012    source источник


Ответы (2)


Координаты (55.755786,37.617633) вашего текущего местоположения?

MKMapView требуется некоторое время, чтобы заблокировать GPS и получить координаты вашего текущего местоположения. А до тех пор centerCoordinate может вернуться (0,0)

person sunhsiv    schedule 27.12.2012
comment
это произошло из-за этого кода MKUserLocation *userLocation = mapView.userLocation; MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance ( userLocation.location.coordinate, 500000, 500000); [mapView setRegion:region animated:NO]; если я удалю этот код, он даст centerCoordinate 30.0000,-40.0000 я тоже этого не хочу. поэтому на данный момент я поставил статический centerCoordinate, чтобы решить эту проблему. - person Ankur Arya; 27.12.2012

Попробуйте это, это может вам помочь.

self.mapView.centerCoordinate = self.mapView.userLocation.location.coordinate;
person Codesen    schedule 27.12.2012