2011-06-01 53 views
0

我通過- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation獲取位置。它應該在你移動時工作(不能真正在模擬器中測試它,至少我不知道如何),但是當我第一次加載應用程序時,mapview專注於整個世界,而不僅僅是我的位置。我可以以任何方式調用方法來更改第一個視圖上的位置嗎? 這裏是我當前的代碼是否有幫助: http://pastebin.com/9Sb2xVmE http://pastebin.com/rh9WB2caiPhone LocationManager - 在App上獲取座標開始

+2

要求換新之前,您應該接受的答案你以前的問題...... – 2011-06-01 17:18:37

+0

您可以在模擬器中做到這一點,只有該地圖顯示蘋果總部。如果你的devmachine是一臺MacBook,你可以隨時隨地使用它,模擬器將更新位置。這是因爲模擬器使用了Mac OS X使用的相同CoreLocation框架。 – 2011-06-01 17:33:52

回答

2

如果您使用mapkit:

你試過

setRegion:(MKCoordinateRegion)region animated:(BOOL)animated 

例子:

CLLocationCoordinate2D coord = {latitude: 61.2180556, longitude: -149.9002778}; 
MKCoordinateSpan span = {latitudeDelta: 0.2, longitudeDelta: 0.2}; 
MKCoordinateRegion region = {coord, span}; 

[mapView setRegion:region]; 

這應該放大的MapView到你想要的大小,同時保持專注於中心。

如果您使用CoreLocation:

下面有什麼可能出現了問題清單:

  • 你記得導入
  • 你有一個位置管理器(的LocationManager = [[ CLLocationManager alloc] init];)
  • 代碼中提到的代碼是否在位置管理器的代理中?

我建議您轉到此頁:Getting location of a iOS device with objective-C並按照教程一點一點地操作。這應該會幫助你。

此外,繼承人的mapkit文檔

祝您好運與您的項目:]

+0

嗨,是的setRegion工程,但didUpdateToLocation不是在開始時調用,所以我無法得到coords和縮放地圖,所以我想知道一種方式如何以某種方式在開始時調用didUpdateToLocation應用程序 – haluzak 2011-06-01 17:37:49

0

,我們能不能在模擬器中運行它來獲取當前位置。如果您在設備中運行該應用程序,它將顯示正確的位置。在模擬器中,它將顯示默認的位置爲califorina(蘋果頭四肢)。

+0

是的,我知道,但問題是我想讓地圖視圖放大位置集(默認加利福尼亞州),但是當我第一次查看地圖時,它沒有放大,它保持縮小並顯示整個世界。 – haluzak 2011-06-01 17:24:08