2015-06-26 77 views
1

我想讓我的代碼,在應用程序加載它更新我的解析數據庫與用戶當前時間和位置。這裏是我當前的代碼:獲取用戶位置與解析


- (void)viewDidLoad { 
    [super viewDidLoad]; 
    PFObject *testObject = [PFObject objectWithClassName:@"TestObject"]; 
    testObject[@"foo"] = @"bar"; 
// PFGeoPoint *point = [PFGeoPoint geoPointWithLatitude:40.0 longitude:-30.0]; 
// testObject[@"location"] = point; 
    [PFGeoPoint geoPointForCurrentLocationInBackground:^(PFGeoPoint *geoPoint, NSError *error) { 
     if (!error) { 
      testObject[@"location"] = geoPoint; 
     } 
    }]; 

    [testObject saveInBackground]; 

我的數據庫更新正確的時候我給它一個預設的經緯度和長期使用,但它不工作,當我使用解析代碼來獲取用戶的GeoPoint。這是因爲我做錯了,或者是因爲它在我的電腦上使用iPhone模擬器時不起作用。謝謝。

+0

您在獲取位置之前保存了'testObject',將其寫入完成塊 – preetam

回答

1

示例代碼解析blog給出:

[PFGeoPoint geoPointForCurrentLocationInBackground:^(PFGeoPoint *geoPoint, NSError *error) { 
    if (!error) { 
     NSLog(@"User is currently at %f, %f", geoPoint.latitude, geoPoint.longitude); 

     [[PFUser currentUser] setObject:geoPoint forKey:@"currentLocation"]; 
     [[PFUser currentUser] saveInBackground]; 
    } 
}]; 

按我的意見。您必須從完成塊保存位置。你從塊的外面完成了它。你

也可以看看iOS指南爲Geo Location

希望它能幫助。

+0

我嘗試保存完成塊內的位置,但數據從未解析完成。 –