2011-12-12 131 views
0

我使用這個代碼來獲得GPS數據GPS獲取經度和海拔分別

- (void)locationUpdate:(CLLocation *)location { 
    locLabel.text = [location description]; 
} 

結果看起來像這樣

< 38.76856432,11.99454301> +/-100.00米(速度......)

當我特里此我有一個錯誤,

- (void)locationUpdate:(CLLocation *)location { 
    locLabel.text = [location altitude];} 

錯誤

Assigng到 「的NSString *」 從不兼容的類型CLLocationDistance (又名雙)

我想經度太

回答

4

您應該能夠從location.coordinate.latitudelocation.coordinate.longitude分別獲得緯度和經度。

您收到的高度可能無效。檢查location.verticalAccuracy中的值。根據文檔,「負值表示高度值無效。」 location.horizontalAccuracy也一樣,以確保location.coordinate中的緯度和經度值有效。

+0

謝謝你,它是無效的! – user567

1

altitude屬性是CLLocationDistance類型,這是typedefdouble。您正在嘗試將數字分配給期望字符串的屬性。你需要創建一個數字的字符串表示。使用這樣的事情:

locLabel.text = [NSString stringWithFormat:@"%f", [location altitude]]; 
+0

謝謝,但我有零結果。我認爲我們沒有以這種方式獲得經度和高度 – user567

+0

這是訪問海拔高度數據的正確方式,但高度數據不適用於所有位置更新。 – Jim

+0

我是戶外,它的工作:) – user567