iPod touch сообщает о неверном местоположении

Я одолжил у своего друга iPod touch первого поколения, чтобы протестировать на нем свое приложение. Я обновил ОС до iOS 3.1.3.

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

Сообщается о местоположении, но по какой-то причине указан ее адрес, более 300 миль от него...

Отдельное приложение карт сообщает, что не может определить мое местоположение

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

Вот код, который я использую:

- (void)viewDidLoad
{
    [super viewDidLoad];

    locationManager = [[CLLocationManager alloc] init];

    [locationManager setDelegate:self];

    [locationManager setDistanceFilter:kCLDistanceFilterNone];

    [locationManager setDesiredAccuracy:kCLLocationAccuracyBest];

    [locationManager startUpdatingLocation]; 
}




-(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
   NSLog(@"%@", newLocation);
}

Что я делаю неправильно?

РЕДАКТИРОВАТЬ: я подключен к своей домашней сети в 300 милях от ее

также результат журнала:

 <anumber,anumber>+/- 144.27m (speed -1.00 mps / course -1.00) @ 2009-06-28 17:58:08 +0100

Кажется, это 2009 год...

всем спасибо


person RNs_Ghost    schedule 07.09.2011    source источник


Ответы (4)


Похоже, он использует кешированное местоположение, и в том месте, где вы сейчас находитесь, он не может получить исправление местоположения. Попробуйте еще раз протестировать его в месте с большим количеством Wi-Fi (город/большой пригород). Кроме того, проверьте, можете ли вы найти местоположение в приложении «Карты».

person nevan king    schedule 07.09.2011
comment
Спасибо @nevan. Приложение «Карты» продолжает говорить, что ваше местоположение не может быть определено. - person RNs_Ghost; 07.09.2011
comment
Ваше приложение будет использовать то же оборудование, что и приложение карт. Вероятно, в приложении карт есть какой-то код для обнаружения старых данных о местоположении и их игнорирования. Нет простого способа правильно протестировать код местоположения без iPhone с GPS-чипом (iPhone 3G up) или Touch в сочетании с физической близостью к большому количеству WiFi. Touch использует базу данных идентификаторов WiFi и GPS, чтобы угадать местоположение. - person nevan king; 08.09.2011

Что ж, ничего страшного, в iPod touch нет GPS-чипа. Он использует триангуляцию WiFi ESSID для определения своего местоположения.

Для корректной работы потребуется подключение к сети.

person rckoenes    schedule 07.09.2011
comment
Он подключен к моей домашней сети..... разве этого недостаточно? Также он, очевидно, каким-то образом получил текущую широту и долготу. Я предполагаю, что он сделал это, используя триангуляцию Wi-Fi, используя ее домашнюю сеть. Почему нельзя повторить процедуру? - person RNs_Ghost; 07.09.2011
comment
Триангуляции нет. Он запрашивает у Skyhook Wireless местоположение вашей сети Wi-Fi. Чтобы узнать, почему Skyhook отстает на 300 миль: skyhookwireless.com/howitworks/coverage.php - person Terry Wilcox; 07.09.2011
comment
Apple нет больше не использует Skyhook. - person Alastair Stuart; 07.09.2011

Был один раз, когда часовой пояс на WiFi-маршрутизаторе был установлен неправильно, и такая же испорченная информация о местоположении на iPod.

Проверьте настройки роутера.

person Jiho Kang    schedule 07.09.2011
comment
Я проверил, маршрутизатор сообщает правильную дату, он получает ее из Интернета. - person RNs_Ghost; 07.09.2011

У тебя есть айфон?

  • Убедитесь, что GPS включен (немного запустите карты, маленький кружок точности вокруг синей точки).
  • Убедитесь, что он видит вашу сеть Wi-Fi (присоединитесь к ней).

Возможно, попробуйте это и с другим iPhone.

Синхронизируйте устройства с iTunes и надейтесь, что база данных Apple о местоположении / ESSID будет обновлена ​​этими iPhone в ближайшем будущем :)

person Alastair Stuart    schedule 07.09.2011