Parse platform 查找我周围半径范围内的人的查询
我想在我周围10公里范围内找到用户。我已经得到了我的用户数据库中每个用户的位置 我想我可以这样做:Parse platform 查找我周围半径范围内的人的查询,parse-platform,Parse Platform,我想在我周围10公里范围内找到用户。我已经得到了我的用户数据库中每个用户的位置 我想我可以这样做: ParseQuery<ParseUser> query = ParseUser.getQuery(); query.whereWithinKilometers("location", new ParseGeoPoint(currentLoc.getLatitude(), currentLoc.getLongitude()), 10); query.setLimit(1); query.
ParseQuery<ParseUser> query =
ParseUser.getQuery();
query.whereWithinKilometers("location", new ParseGeoPoint(currentLoc.getLatitude(), currentLoc.getLongitude()), 10);
query.setLimit(1);
query.findInBackground(new
FindCallback<ParseUser>() {
@Override
public void done(List<ParseUser> objects, ParseException e) {
if (e != null) {
Log.d("Test", "Got result");
}
else {
Log.d("Test", e.getMessage());
}
}
}
);
ParseQuery查询=
ParseUser.getQuery();
查询。Wherethinkilometer(“位置”,新解析地理点(currentLoc.getLatitude(),currentLoc.getLatitude()),10);
查询设置限制(1);
query.findInBackground(新的
FindCallback(){
@凌驾
公共void done(列出对象,parsee异常){
如果(e!=null){
Log.d(“测试”,“获得结果”);
}
否则{
Log.d(“Test”,例如getMessage());
}
}
}
);
这在e.getMessage的链接上给了我一个null指针异常。我还认为查询结果可能返回“我自己”,这不是问题所在。我需要给另一个约束吗
like!=当前用户
?如果测试e!=对于此查询,null必须是e==null
以下是完整的工作查询:
ParseQuery<ParseUser> query = ParseUser.getQuery();
query.whereWithinKilometers("location", new ParseGeoPoint(currentLoc.getLatitude(), MainActivity.currentLoc.getLongitude()), 10);
query.setLimit(10);
query.whereNotEqualTo("username", ParseUser.getCurrentUser().getUsername());
query.findInBackground(new FindCallback<ParseUser>() {
@Override
public void done(List<ParseUser> objects, ParseException e) {
if (e == null)
{
Log.d("Test", "Got results: " + objects.size());
for(ParseUser it : objects)
Log.d("Test","User found: " + it.getUsername());
}
else
{
Log.d("Test", "User not found: " + e.getMessage());
}
}
);
ParseQuery query=ParseUser.getQuery();
query.wherethinkilometer(“位置”,新解析地理点(currentLoc.getLatitude(),MainActivity.currentLoc.getLatitude()),10);
查询设置限制(10);
query.whereNotEqualTo(“用户名”,ParseUser.getCurrentUser().getUsername());
findInBackground(新的FindCallback(){
@凌驾
公共void done(列出对象,parsee异常){
如果(e==null)
{
Log.d(“Test”,“Got results:+objects.size());
for(ParseUser-it:objects)
Log.d(“测试”,“用户发现:”+it.getUsername());
}
其他的
{
Log.d(“测试”,“未找到用户:”+e.getMessage());
}
}
);