Основная проблема местоположения - PullRequest
1 голос
/ 11 ноября 2009

Я пытаюсь найти текущее местоположение и затем использовать геокодер, чтобы найти город, штат. Вот что у меня есть:

- (void)viewDidLoad 
{  
    self.locationManager = [[[CLLocationManager alloc] init] autorelease];
    locationManager.delegate = self;
    locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters;
    [locationManager startUpdatingLocation];
}

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation 
{
    geoCoder = [[MKReverseGeocoder alloc] initWithCoordinate:newLocation.coordinate];
    geoCoder.delegate = self;
    [geoCoder start];
}

- (void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFindPlacemark:(MKPlacemark *)placemark{
    //NSLog(@"Reverse Geocoder completed");
    MKPlacemark * myPlacemark = placemark;

    NSString *city = [myPlacemark.addressDictionary objectForKey:(NSString*)kABPersonAddressCityKey];
    NSString *state = [myPlacemark.addressDictionary objectForKey:(NSString*)kABPersonAddressStateKey];
    location = [[NSString alloc] initWithFormat:@"%@,%@", city, state];
}

Я протестировал обратный геокодер, и он отлично работает, когда я вручную набираю создать координату моего текущего местоположения: (50.4, -104.6). Однако, когда я запускаю этот код с точкой останова в методе делегата didUpdateToLocation, newLocation дает мне координату 37,3, -122,0, что в Купертино, штат Калифорния. Я думаю, что неправильно настраиваю locationManager, так что есть идеи?

...