2014-09-10 49 views
0

我一直在爲Android使用Quickblox SDK。但是,新的SDK庫使我的一些代碼無法正常工作。具體來說,我創建了位置列表。然後我嘗試搜索附近的位置,提供當前位置和半徑。適用於Android的最新Quickblox SDK:獲取附近位置不起作用

getLocationsBuilder.setCurrentPosition(qbLocation.getLatitude(), 
    qbLocation.getLongitude()); 

    getLocationsBuilder.setRadius(point.getLatitude(), 
      point.getLongitude(), (float) 5.0); 



    GeoPoint point = new GeoPoint(qbLocation.getLatitude(), 
      qbLocation.getLongitude()); 

但是,我得到格式不正確的結果。

'{ 「錯誤」:{ 「CURRENT_POSITION」: 「應該是的GeoPoint 格式」, 「應該有半徑設置」]}}'

這是我整個的代碼:

Log.d(TAG, 
      "update location is " + point.getLatitude() + " " 
        + point.getLongitude()); 

    QBLocationRequestBuilder getLocationsBuilder = new QBLocationRequestBuilder(); 
    getLocationsBuilder.setPage(1); 
    getLocationsBuilder.setPerPage(100); 
    getLocationsBuilder.setLastOnly(); 

    getLocationsBuilder.setCurrentPosition(qbLocation.getLatitude(), qbLocation.getLongitude()); 

    getLocationsBuilder.setRadius(point.getLatitude(), 
    point.getLongitude(), (float) 5.0); 

    int unixTime = (int) (System.currentTimeMillis()/1000L - 1000); 
    getLocationsBuilder.setMinCreatedAt(unixTime); 

    // getLocationsBuilder.setSort(SortField.DISTANCE); 

    QBLocations.getLocations(getLocationsBuilder, new QBEntityCallback<ArrayList<QBLocation>>() { 
     @Override 
     public void onSuccess(ArrayList<QBLocation> qbLocations, Bundle bundle) { 
      ArrayList<String> card_ids = new ArrayList<String>(); 
      for (QBLocation location : qbLocations) { 
       Log.d(TAG, "locations nearby : " + location); 
       card_ids.add(location.getStatus()); // status is card_id 
      } 
      getCards(card_ids); 
     } 

     @Override 
     public void onSuccess() { 

     } 

     @Override 
     public void onError(List<String> strings) { 

     } 
    }); 

我可以搜索所有位置,並獲得我想要的位置,但這不像使用SDK那麼優雅。

如果我只是用早期版本替換Quickblox SDK,它可以正常工作。

+0

此外,當我只搜索所有位置並且只有一個結果時,SDK崩潰,告訴QBCustomObject不能轉換爲QBEntityLimited – bahakz 2014-09-10 14:38:57

回答

0

看起來它固定在1.2.4

http://quickblox.com/developers/Android#Framework_changelog

你使用哪個版本?

+0

我使用的是從q-municate項目中獲取的2.0 SDK。 – bahakz 2014-09-10 22:11:37

+0

我認爲它適用於SDK 1.2.4。但我想使用最新的API,並且已經重寫了我的程序和QuickBlox調用來支持新的回調。只有位置不起作用。 – bahakz 2014-09-11 11:04:25