2009-12-07 27 views
1

由於有3代iPhone,他們的地理定位(WiFi,GPS,其他方式?)的機制是什麼?我最近在做iPhone開發,所以我想深入瞭解這一點。iPhone如何進行地理定位?

(我想要定位的所有方法和具體的介紹名單)

謝謝

回答

5

iPhone/iPodTouch非GPS地理位置引擎由Skyhook Wireless提供。他們使用地理位置麪包車驅動大多數城市的大部分道路,根據GPS繪製無線網點,主要是iPhone用來修復這些數據。

Skyhook使用iPhone「自我修復」其接入點數據庫也很有趣。如果他們收到一個不在他們的數據庫中的點,或者被認爲是在其他地方,他們會優化數據。

我已經和Skyhook的Kate Imbach談了幾次這個技術,我很驚訝他們不使用GPS與WiFi三角測量結合以改善地圖數據,但似乎這是不是這樣。

也就是說,您的問題的具體方法部分是一個不同的故事:iPhone SDK將所有這些從您中抽象出來。 你只需要導入CoreLocation框架到項目中,採用CLLocationManagerDelegate協議

然後實例化的LocationManager


    CLLocationManager * LM = [[CLLocationManager alloc] init]; 
    [[self locationManager] setDelegate:self]; 
    [[self locationManager] setDesiredAccuracy:kCLLocationAccuracyBest];  
    [[self locationManager] startUpdatingLocation]; 

然後,您可以查詢您的LocationManager或接收更新


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

- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error{ 
} 

那應該讓你去!

+0

感謝您的回答 – 2009-12-07 09:50:20

+0

快速更新。從iOS4開始,iPhone不再使用Skyhook進行地理定位(它使用了一個現在臭名昭着的內部文件) – Andiih 2011-05-02 21:59:26

1

iPhone可以使用GPS或WIFI(使用WIFI三角測量)來定位座標。 WIFI三角是HTML5地理位置API使用相同的過程中,更多關於無線三角測量V/S GPS(http://arstechnica.com/old/content/2008/01/where-gps-wont-do-wifi-triangulation-might.ars

GPS可以從潛伏期座標遭受鎖定在地鐵或擁擠的區域,雖然無線三角測量它不吃虧並且相當準確。

簡單地說,WIFI三角測量工作的原理是,ISP或地理定位器服務提供者將掃描一個區域並對座標進行三角測量。

+0

W3C地理定位API(它不是HTML5的一部分,因爲它的價值)並未指定瀏覽器確定用戶位置的方法;儘管Firefox 3.5使用WiFi三角測量,但API本身是不可知的。 – npdoty 2009-12-07 15:17:14

相關問題