Ho un MKMapView all'interno di un UITableView come una cella personalizzato (non chiedere;) - non so se è importante davvero), per il quale registro un metodo delegato regionDidChangeAnimated. Questo metodo viene chiamato tre volte quando l'UITableView è caricato - una volta con la regione reale e quindi altre due volte con una regione che è lontano. Nel simulatore, ho sempre ottenere una regione con il centro (37,43,997405 millions, -97,03125000). Sul dispositivo, sembra dipendere dalla posizione riportata dal gestore posizione, che inizializza mappa.
Perché ricevo tre chiamate regionDidChangeAnimated? E perché sono le coordinate del centro per gli ultimi due di loro fuori?
Questo è il codice che uso per ottenere le coordinate del centro:
- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated {
CLLocation *l = [[CLLocation alloc] initWithLatitude:self.mapView.centerCoordinate.latitude longitude:self.mapView.centerCoordinate.longitude];
(....)













