2
我们正在使用Parse.com制作一个基于位置的Android聊天应用程序,我已经保存了我的聊天位置在“聊天”分析类。我们希望在给定位置的聊天内容显示在我们的应用中,并且它们必须按照“createdTime”(最新的第一次)的降序排列。对于查询,我使用以下代码。Parse.com查询附近的项目和排序与时间不距离
ParseQuery<ParseObject> query = new ParseQuery<ParseObject>("Chat");
query.addDescendingOrder("createdAt");
query.whereWithinKilometers("location", location, distance);
query.setLimit(10);
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> items, ParseException e) {
if(e==null){
// Display Results
}
}
检索到的列表不符合要求,并且分析考虑排序的距离并弄乱列表。当使用“wherewithinkilometers”时,有没有办法禁止按距离排序?
例如,我有
chat | location | time
text8| 15,74 | 11.30
text7| 15,74 | 11.25
text6| 15,74 | 11.20
text5| 15,74 | 11.15
text4| 15,74 | 11.10
text3| 15,74 | 11.05
text2| 15,74 | 11.02
text1| 15,74 | 11.00
.......................
检索列表是
chat | location | time
text4| 15,74 | 11.10
text3| 15,74 | 11.05
text1| 15,74 | 11.00
......................
如果我检索与标签“createdAt”的所有聊天记录,然后只使用它们的距离内,则它的工作的人为了我。但这不会是实现分页的最佳解决方案。
感谢您的答复,我要优先于被orderByDescending约束接管并且不想要距离来扮演任何角色。我的意思是让所有的聊天在该地区,并显示他们的时间。那可能吗?我尝试了各种组合,但它没有工作...... :( 我试过你的解决方案,如果我在一个区域内有超过10个聊天(查询聊天),然后检索聊天不是最新的聊天...我得到年长的聊天,这是 – engico
@engico更新回答问题 – gio
仍然没有为我工作,我有很多同一位置的聊天记录,这可能是一个问题吗?你已经使用了和我一样的代码来获得这些结果吗?我认为它是可能的以解析云代码得到所需的输出,你可以帮我解决这个问题吗?我也遇到了错误... – engico