2016-01-31 29 views
1

在我的應用程序的這部分中,用戶登錄到Facebook,並且使用CLLocationManager正確地檢索當前位置。下一步是尋找最近的地方,但是當我做,我得到這個錯誤...使用Facebook SDK(iOS)發現最近的地方時發生錯誤

錯誤域= com.facebook.sdk.core代碼= 8「,我們無法確定 座標請檢查您的緯度和經度是否在 範圍內,並驗證位置的格式。「

這裏有兩種方法,一種搜索,另一種在設置地點ID的地方給當前用戶的飼料(它工作得很好),但顯然我希望地點ID是最近的地方。因爲我在他們旁邊放置了一個斷點,所以經緯度在那裏。

查找最近的地方....方法

func findNearestPlaces() { 

    let params = NSMutableDictionary(capacity: 4) 

    params.setObject(String(format: "%@, %@", self.latitude!, self.longitude!), forKey: "center") 
    params.setObject("place", forKey: "type") 
    params.setObject("100", forKey: "distance") 
    params.setObject("name", forKey: "fields") 

    let graphRequest = FBSDKGraphRequest.init(graphPath: "/search", parameters: params as [NSObject : AnyObject], HTTPMethod: "GET") 
    graphRequest.startWithCompletionHandler { (connection, response, error) -> Void in 

     if error != nil { 
      print(error) 
     } 

     else if let response = response { 

      print(response) 
     } 
    } 

} 

入住方法與虛擬ID的地方(就像我說的,工作的,只是包括以備將來使用)

func checkIn() { 

    if FBSDKAccessToken.currentAccessToken() != nil { 

     if FBSDKAccessToken.currentAccessToken().hasGranted("publish_actions") { 

      let parameterDictionary = NSMutableDictionary() 
      parameterDictionary.setObject("This is a test, I'm building an app!", forKey: "message") 
      parameterDictionary.setObject("110503255682430", forKey: "place") //TEST <<! 

      let graphRequest = FBSDKGraphRequest.init(graphPath: "/me/feed", parameters: parameterDictionary as [NSObject : AnyObject], HTTPMethod: "POST") 

      graphRequest.startWithCompletionHandler({ (connection, result, error) -> Void in 

       if error != nil { 
        print(error) 
       } 

       else { 

        print(result) 
       } 
      }) 
     } 
    } 

    else { 

     let loginManager = FBSDKLoginManager() 
     loginManager.logInWithPublishPermissions(["publish_actions"], fromViewController: self, handler: { (result, error) -> Void in 

     if error != nil { 
      print(error) 
     } 

     else if let result = result { 
      print(result) 

     } 
     }) 
    } 
} 

任何想法?我很親密!像往常一樣,非常感謝幫助。

+0

你可以請把你要測試的位置? –

+0

和這是什麼? 'params.setObject(「name」,forKey:「fields」)' –

+0

當前位置是...▿CLLocationCoordinate2D - 緯度:37.759755 - 經度:-122.4270941 – Echizzle

回答

0

我要回答我自己的問題...用%f替換%@並且它完美地工作!

相關問題