我正在处理一个问题,我无法解决,我们走了:
我有完全相同的问题,我尝试了Fosco Marotto的解决方案(他是一个解析器),但没有工作:
https://www.parse.com/questions/relational-query-with-near
我目前的情况:我有一个类ITEM,带有指向另一个类USER的指针,该类具有一个GeoPoint字段“location”。
我想要的只是首先显示给定位置顺序附近的所有项目。
这是我的疑问:
ParseQuery mUserQuery = ParseQuery.getQuery(User.class);
mUserQuery.whereNear("location",myLocation);
ParseQuery mItemsParseQuery = ParseQuery.getQuery(Item.class);
mItemsParseQuery.include("user");
mItemsParseQuery.whereMatchesQuery("user",mUserQuery);
可行,但检索到的项目不按距离排序
可以这样做吗?一些建议?
感谢!!!
答案 0 :(得分:1)
问题是针对User
类的查询按距离排序,但它仅用作Item
类上查询的过滤器。
如果您希望按距离排序结果,只有直接查询User
类才能获得该结果。您可以通过两种方式实现这一目标:
whereContainedIn(users)
查询<{1}}过滤器中的用户列表执行两项查询Item
(单个)或item
(数组)属性添加到items
类,以允许User
使用User
或{{进行查询1}} 唯一的另一个选择是计算客户端的距离并使用距离增加结果,以便您可以对客户端进行排序。