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年…

谢谢大家

看起来它正在使用一个缓存的位置,在你现在的地方,它不能得到一个位置修复。试着在有很多WiFi的地方(城市/大郊区)再测试一次。另外,检查一下你是否能在地图应用程序中找到一个位置。

没什么问题,iPod touch没有GPS芯片。它使用WiFi ESSID的三角测量来确定它的位置。

需要网络连接才能正确执行

有一次WiFi路由器的时区设置不正确,这就把ipod上的位置信息搞砸了。

你有iPhone吗?

  • 确保GPS处于开启状态(运行地图一点,在蓝点周围的小精度圈)。
  • 确保它可以看到你的WiFi网络(加入它)。

或许也可以在其他iPhone上试试。

将设备与iTunes同步,并希望苹果的位置/ESSID数据库在不久的将来被这些iphone更新:)

最新更新