Значения долготы и широты равны 0,000000, почему? - PullRequest
1 голос
/ 30 апреля 2011

Я использую базовое местоположение, чтобы получить значение долготы и широты моей текущей позиции, и я отобразил его в метке, так что для моего случая это всегда 0,000000 для долготы и широты, потому что я работаю на симуляторе ??

    //longitude and latitude
    // locationManager update as location
    locationManager = [[CLLocationManager alloc] init];
    locationManager.delegate = self; 
    locationManager.desiredAccuracy = kCLLocationAccuracyBest; 
    locationManager.distanceFilter = kCLDistanceFilterNone; 
    [locationManager startUpdatingLocation];

    CLLocation *location = [locationManager location];

    // Configure the new event with information from the location
    CLLocationCoordinate2D coordinate = [location coordinate];

    NSString *latitude = [NSString stringWithFormat:@"%f", coordinate.latitude]; 
    NSString *longitude = [NSString stringWithFormat:@"%f", coordinate.longitude];

Ответы [ 2 ]

3 голосов
/ 30 апреля 2011

Просто инициализация менеджера местоположения не извлекает ваши значения.

Вы должны написать это

[self.locationManager startUpdatingLocation];

тогда вы должны переопределить метод обратного вызова

- (void) locationManager:(CLLocationManager *)manager 
     didUpdateToLocation:(CLLocation *) newLocation
    fromLocation: (CLLocation *) oldLocation {


    [self.locationManager stopUpdatingLocation];
     NSString *latitude = [NSString stringWithFormat:@"%f", newLocation.latitude]; 
         NSString *longitude = [NSString stringWithFormat:@"%f", newLocation.longitude];  
    [self.locationManager release];
}

Надеюсь, это поможет!

  • Shuanak
0 голосов
/ 30 апреля 2011

Нет.CoreLocation на симуляторе iPhone установлен по адресу 37.3317 северной широты, 122.0307 западной долготы (Apple HQ).

Попробуйте переместить код locationManager от кода с меткой.Поместите код менеджера местоположений в viewDidLoad или что-то еще, а затем вставьте этот код

CLLocation *location = [locationManager location];

// Configure the new event with information from the location
CLLocationCoordinate2D coordinate = [location coordinate];

NSString *latitude = [NSString stringWithFormat:@"%f", coordinate.latitude]; 
NSString *longitude = [NSString stringWithFormat:@"%f", coordinate.longitude];  

в функцию, которую вы вызываете с помощью кнопки.CoreLocation нужно время, чтобы начать работу.Это верно для устройства, но, возможно, это верно и для симулятора.

...