locationManager: didUpdateToLocation: fromLocation: против mapView.userLocation.location - PullRequest
0 голосов
/ 20 апреля 2010

На данный момент я использую mapView.showsUserLocation=YES; для светящегося синего значка, показывающего положение iPhone, но не знаю, как получить координаты позади него.

Я попробовал locationManager:didUpdateToLocation:fromLocation: с конфигурацией self.locationManager = [[[CLLocationManager alloc] init] autorelease]; locationManager.delegate = self; locationManager.distanceFilter=kCLDistanceFilterNone; //record every movement locationManager.desiredAccuracy=kCLLocationAccuracyBest; [locationManager startUpdatingLocation];

Я пробовал оба варианта yourGPS=newLocation.coordinate; и yourGPS=mapView.userLocation.location.coordinate; в didUpdateToLocation, но большую часть времени я вижу синий пузырь (управляемый движением вперед mapView.showsUserLocation=YES;, но координаты, записанные в didUpdateToLocation, не меняются.

Куда мне положить yourGPS=mapView.userLocation.location.coordinate;, чтобы продолжать регистрировать координаты, ведущие синий пузырь, пожалуйста?

Спасибо за любую информацию.

Ответы [ 2 ]

1 голос
/ 22 июня 2010

Вот что я использую в своем приложении:

- (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 голосов
/ 11 октября 2010

Поскольку mapView.showsUserLocation=YES; приводит к утечкам памяти, я прекратил его использовать и использую только locationManager для получения координат. Недостатком этого является то, что я теряю прекрасный синий пузырь, который я не знаю, как сделать его самому.

...