2011-09-07 73 views
0

我借用朋友的第一代iPod touch來測試我的應用程序。我將操作系統升級到iOS 3.1.3。iPod touch報告位置不正確

我一直在關注大書呆子牧場書,並試圖讓位置顯示在日誌中,但它在視圖內而不是應用程序委託。

位置報道,但由於某種原因,它給她的地址,超過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年...

感謝大家

回答

0

看起來它正在使用緩存的位置,而在您現在所在的位置它無法獲得位置修復。嘗試在有很多WiFi(城市/大郊區)的地方再次進行測試。此外,請檢查您是否可以在地圖應用中找到位置。

+0

謝謝@nevan地圖應用一直在說「你的位置無法確定」 –

+1

你的應用將使用與地圖應用相同的硬件。可能地圖應用程序有一些代碼來檢測舊的位置數據並忽略它。如果沒有配備GPS芯片的iPhone(iPhone 3G以上)或Touch以及身體接近大量的WiFi,沒有簡單的方法來正確測試位置代碼。 Touch使用WiFi ID和GPS數據庫來猜測位置。 –

0

好吧,沒有什麼不對,iPod touch沒有GPS芯片。它使用WiFi ESSID三角測量法來確定它的位置。

它需要一個網絡連接才能正確執行此操作。

+0

它連接到我的家庭網絡一段時間更新.....難道這不足夠?不知何故,它顯然獲得了當前的經緯度。我假設它使用她的家庭網絡使用無線三角網。爲什麼它不能重複這個程序? –

+0

沒有三角測量。它要求Skyhook Wireless爲您的wifi網絡的位置。看看爲什麼Skyhook離開300英里:http://www.skyhookwireless。com/howitworks/coverage.php –

+1

Apple [不再使用Skyhook](http://www.fool.com/investing/general/2010/08/04/apple-drops-skyhook-wireless-technology-from-iphon。 ASPX)。 –

0

曾經有一段時間,WiFi路由器上的時區設置不正確,以及那種搞砸了iPod上的位置信息。

檢查您的路由器設置。

+0

我檢查過,路由器報告正確的日期,它從互聯網上獲取 –

0

你有iPhone嗎?

  • 確保GPS已打開(在藍色圓點周圍運行地圖一點,小精度圓)。
  • 確保它可以看到你的WiFi網絡(加入它)。

也許試試這與另一個iPhone也。

與iTunes同步的設備,並希望蘋果公司的位置/ ESSID數據庫是由那些在iPhone手機在不久的將來:)