2010-07-01 4 views
12

J'ai un MKMapView qui permet à l'utilisateur de faire défiler la carte. Plus tard, je veux obtenir la latitude et la longitude du point au centre de la carte, mais je ne trouve pas un moyen facile de le faire. En ce moment je suis en train quelque chose comme:Comment obtenir le centre d'une carte MKMapView?

CLLocationCoordinate2D centre = [locationMap convertPoint:locationMap.center toCoordinateFromView:locationMap]; 
txtLatitude.text = [NSString stringWithFormat:@"%f",centre.latitude]; 
txtLongitude.text = [NSString stringWithFormat:@"%f",centre.longitude]; 

Mais il ne fonctionne pas - la latitude et la longitude à la fois sortir comme zéro. Je serais reconnaissant pour toutes les idées que quelqu'un pourrait avoir!

==============

- Mise à jour 1-

Oh. Si j'ajoute le:

NSLog(@"%@", locationMap); 

comme suggéré ci-dessous, le journal affiche "(null)". J'ai ce qui suit dans ma tête (entre autres):

#import <UIKit/UIKit.h> 
#import <MapKit/MapKit.h> 
#import <CoreLocation/CoreLocation.h> 

IBOutlet MKMapView *locationMap; 

@property (nonatomic, retain) IBOutlet MKMapView *locationMap; 

et ce qui suit dans mon dossier Méthodes:

@synthesize locationMap; 

Cette compile sans aucun avertissement ou d'erreurs à l'heure actuelle. Commencer à se demander si j'ai manqué quelque chose d'évident?

Répondre

38

Qu'en est-il de la propriété centerCoordinate?

à savoir

CLLocationCoordinate2D centre = [locationMap centerCoordinate]; 

Si la propriété est tout centerCoordindate 0, vérifiez que vous avez un pointeur locationMap valide - c-objectif vous permet d'envoyer des messages à zéro sans aucune erreur!

Essayez NSLog(@"%@", locationMap); - si ce sorties à zéro, vous avez probablement oublié de connecter le mapLocation à un MKMapView dans Interface Builder;)

+0

J'ai essayé que trop - renvoie zéro aussi bien. – Haydn

+0

Est-ce que locationMap est un pointeur valide - qu'est-ce que __NSLog (@ "% @", locationMap); __ dit? – deanWombourne

+0

Merci - le journal donne "(null)" - voir la mise à jour ci-dessus. – Haydn

Questions connexes