J'ai un MKMapView à l'intérieur d'un UITableView comme une cellule personnalisée (ne demandez pas;) - ne sais pas si cela compte vraiment), pour lequel j'inscris une méthode de délégué regionDidChangeAnimated. Cette méthode est appelée trois fois lorsque UITableView est chargé - une fois avec la région actuelle et deux fois de plus avec une région éloignée. Dans le simulateur, j'ai toujours une région avec le centre (+37.43997405, -97.03125000). Sur le périphérique, il semble dépendre de l'emplacement signalé par le gestionnaire de localisation, qui initialise la vue de la carte. Pourquoi ai-je trois appels regionDidChangeAnimated? Et pourquoi le centre se coordonne-t-il pour les deux derniers?multiple regionDidChangeAnimated calls - que donne-t-on?
Voici le code que j'utilise pour obtenir les coordonnées du centre:
- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated {
CLLocation *l = [[CLLocation alloc] initWithLatitude:self.mapView.centerCoordinate.latitude longitude:self.mapView.centerCoordinate.longitude];
(....)
Vous avez raison - peu importe où est la vue de la carte, mais comme je n'arrive pas à identifier la source de la région, je pense que je pourrais fournir un peu de contexte. J'ai fait plus de débogage et augmenterai la description du problème avec mes résultats. – mvexel