2010-07-02 7 views
2

J'ai une application sur la carte et que vous souhaitez agrandir l'emplacement actuel, quand il est mis à jour.MKMapView didUpdateUserLocation pas la mise à jour

J'utilise -(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation méthode déléguée à savoir quand l'emplacement de l'utilisateur a été mis à jour.

maintenant sur la méthode de simulation est appelé comme il se doit. Mais quand je le tester sur l'appareil (iPhone 2 g) l'emplacement est mis à jour sur la carte, mais la « méthode didUpdateUserLocation » n'est pas appelée du tout, même pour la méthode des délégués « mapViewWillStartLocatingUser ».

Le système demande si je permets d'obtenir ma position pour l'application et commence à montrer ma position, mais

- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation { 
NSLog(@"didUpdateUserLocation = '%@'", userLocation); 

}

est jamais appelé.

Répondre

2

Référence mentionne que cette méthode de délégué est disponible depuis iOS 4.0. Votre simulateur fonctionne probablement sous iOS 4.0 pendant que votre téléphone - iOS 3.1.

Je vais avoir le même problème et toujours à la recherche solution. Peut-être que l'accès direct aux méthodes CL vous aidera.

+0

Merci! Je n'ai jamais pensé que vérifier cela. – Moze

+0

Je suis content d'avoir aidé. J'ai résolu le problème en demandant l'emplacement de l'utilisateur chaque seconde. Si vous trouvez une meilleure solution, j'apprécierais que vous l'affichiez ici :) – kolinko

0

essayez ceci Map.showsUserLocation = YES;

+0

cela a résolu mon problème ... merci! – seanicus

Questions connexes