2010-04-20 2 views
0

Pour l'instant, j'utilise mapView.showsUserLocation=YES; pour l'icône bleue rayonnante indiquant la position de l'iPhone, mais je ne sais pas comment obtenir les coordonnées.locationManager: fromDelocation: fromLocation: vs mapView.userLocation.location

J'ai essayé le locationManager:didUpdateToLocation:fromLocation: avec la configuration de self.locationManager = [[[CLLocationManager alloc] init] autorelease]; locationManager.delegate = self; locationManager.distanceFilter=kCLDistanceFilterNone; //record every movement locationManager.desiredAccuracy=kCLLocationAccuracyBest; [locationManager startUpdatingLocation];

J'ai essayé deux fois yourGPS=newLocation.coordinate; et yourGPS=mapView.userLocation.location.coordinate; dans le didUpdateToLocation, mais la plupart du temps, je peux voir la bulle bleue (contrôlée par le mapView.showsUserLocation=YES; aller de l'avant, mais les coordonnées enregistrées dans le dans le didUpdateToLocation ne changent pas.

Où dois-je mettre yourGPS=mapView.userLocation.location.coordinate; de garder les coordonnées vous connecter au volant de la bulle bleue s'il vous plaît?

Merci pour toute information.

Répondre

1

C'est ce que je l'utilise dans mon application:

- (void)center 
{ 
    NSLog(@"Centering..."); 
    MKCoordinateRegion newRegion; 
    newRegion.center.latitude = mapView.userLocation.location.coordinate.latitude; 
    newRegion.center.longitude = mapView.userLocation.location.coordinate.longitude;   
    newRegion.span.latitudeDelta = 0.112872; 
    newRegion.span.longitudeDelta = 0.109863; 

    [mapView setRegion:newRegion animated:YES]; 
} 
0

Parce que le mapView.showsUserLocation=YES; apporte des fuites de mémoire, je l'ai cessé de l'utiliser, et seulement utiliser le locationManager pour obtenir les coordonnées. L'inconvénient est que je perds la jolie bulle bleue, dont je ne sais pas comment la fabriquer moi-même.

Questions connexes