我想存储两个ParseGeoPoint对象:src和dest,其中src是用户的currentLocation,dest是使用地理编码从地址生成的位置。我的应用中的每个用户必须拥有或者更确切地说拥有src和dest。我创建了一个ParseClass,它有一个ParseUser obj和两个ParseGeoPoint对象,即src和dest。但是,当我尝试存储此类的实例时,它返回一个ParseException,该状态指出只有1个ParseGeoPoint对象可以存储在类中。我知道这可能是解析的限制。
但是我需要它们在同一个类中,因为:我打算运行查询来检索用户列表到同一个dest并由他们的src排序。通过这种方式,我的应用用户可以找到他们附近的其他用户访问相同的目标。使用ParseQueryAdapter在列表视图中填充结果。
这就是我现在正在做的事情。如果它有助于使情况更清楚
// Set up a customized query
ParseQueryAdapter.QueryFactory<UserLocationObject> factory = new ParseQueryAdapter.QueryFactory<UserLocationObject>()
{
public ParseQuery<UserLocationObject> create()
{
Location myLoc =currentLocation;
ParseGeoPoint src=geoPointFromLocation(myLoc);
ParseQuery<UserLocationObject> query = UserLocationObject.getQuery();
query.include("user");query.whereNear("src", src);query.whereEqualTo("dest", dest);
query.setLimit(MAX_SEARCH_RESULTS);
return query;
}
};
// Set up the query adapter
locationInfo = new ParseQueryAdapter<UserLocationObject>(this, factory) {
@Override
public View getItemView(UserLocationObject post, View view, ViewGroup parent) {
if (view == null) {
view = View.inflate(getContext(), R.layout.activity_find_poolers, null);
}
return view;
}
};
// Attach the query adapter to the view
ListView listView = (ListView) this.findViewById(R.id.listView_findPoolers);
listView.setAdapter(locationInfo);
有没有办法可以存储用户的src和dest,以便我可以轻松查询它们并填充我的列表视图。应该生成满足上述约束的列表。
答案 0 :(得分:0)
来自docs:
类中只有一个键可能包含GeoPoint。
我想到的一件事是创建两个额外的类,每个类都包含ParseGeoPoint
,并从User
类中添加它们的关系。例如,您可以创建Origin
类和Destination
类,并使每个类都有一个ParseGeoPoint
的列。然后,您可以从User
类添加对每个类的引用。