2012-01-07 4 views
0

Я следую учебнику http://www.switchonthecode.com/tutorials/getting-your-location-in-an-iphone-application, но я не могу получить широту и долготу mi в своем SDK Xcode.Широта Долгота IOS 4.3

- (void)viewDidLoad { 
[super viewDidLoad]; 
locationManager = [[CLLocationManager alloc] init]; 
locationManager.delegate = self; 
[locationManager startUpdatingLocation]; 

} 


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

int degrees = newLocation.coordinate.latitude; 
double decimal = fabs(newLocation.coordinate.latitude - degrees); 
int minutes = decimal * 60; 
double seconds = decimal * 3600 - minutes * 60; 
NSString *lat = [NSString stringWithFormat:@"%d° %d' %1.4f\"", 
       degrees, minutes, seconds]; 
//latLabel.text = lat; 
degrees = newLocation.coordinate.longitude; 
decimal = fabs(newLocation.coordinate.longitude - degrees); 
minutes = decimal * 60; 
seconds = decimal * 3600 - minutes * 60; 
NSString *longt = [NSString stringWithFormat:@"%d° %d' %1.4f\"", 
        degrees, minutes, seconds]; 
NSLog(@"%@ %@",longt, lat); 

} 

Это не показывает широту и долготу в Консоли. Помогите мне пожалуйста.

+1

Вы реализуете метод делегата 'locationManager: didFailWithError:'? Если да, есть ли ошибка? Если нет, выполните его и посмотрите, есть ли ошибка. – mattjgalloway

+0

Код работает прямо с места в карьер для меня. В одном приложении вид. Вы нажали OK, когда приложение попросило использовать ваше текущее местоположение? – markhunte

+0

А, я просто понял, что использую iOS5. Получаете ли вы: сервер не принимал регистрацию клиента 68. в консоли – markhunte

ответ

0

Ваш код выглядит отлично. Если это не сработает - проблему здесь нет.

Убедитесь, что:

  1. Вы запустить его на устройстве (не эмулятор)
  2. Ваше устройство SIM установлен и подключен к сотовой сети
  3. Это очень хорошая идея, чтобы иметь устройство, подключенное к Wi-Fi с доступом в Интернет.

Все это поможет GPS быстрее зафиксировать положение с помощью GPS.

Также учтите, что Core Location возвращает последнее известное положение почти сразу. Это устарело и может быть неправильно, но предоставляется немедленно. Если ничего не получается - похоже, проблема с Core Location на вашем устройстве, а не с приложением.

Кроме того, это хорошая идея для реализации locationManager: didFailWithError: метод для обнаружения возможных ошибок. Как отключенный GPS.

Вот пример этого метода:

- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error 
{ 
NSLog(@"GPS Error: %@", [error localizedDescription]); 
} 

GPS определение местоположения может занять несколько минут для 3Gs и рано, и около 10 секунд для 4 и 4S (предполагающей четкое представление неба в обоих случаях)

+0

The Log показать мне эти error: Error: Error Domain = kCLErrorDomain Code = 0 «Операция не может быть выполнена. (kCLErrorDomain error 0.)« Любая идея? – user1112600

Смежные вопросы