저는 오랫동안 안드로이드 용 Quickblox SDK를 사용해 왔습니다. 그러나 새 SDK 라이브러리가 일부 코드를 작동하지 않게했습니다. 특히 위치 목록을 만듭니다. 그런 다음 주변 위치를 검색하여 현재 위치와 반경을 제공합니다.안드로이드 용 최신 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를 이전 버전으로 교체하면 제대로 작동합니다.
당신이 어떤 버전을 사용합니까 :이 1.2.4
http://quickblox.com/developers/Android#Framework_changelog에 고정 된 것처럼
또한 모든 위치를 검색하고 하나의 결과 만있는 경우 QBCustomObject를 QBEntityLimited로 캐스팅 할 수 없음을 알리는 SDK 충돌이 발생합니다. – bahakz