基本上,我想为Parse进行以下伪查询。但我无法找到一种可行的方法:
SELECT * FROM UserPhoto WHERE DISTANCE(UserLocation,ImageLocation) <= VisibleRadius
此处,距离是一个函数,可以得到UserLocation
和ImageLocation
之间的距离,它们都是PFGeoPoint
。 VisibleRadius
和ImageLocation
是数据库中的两个值。
在Parse中,通常我会query.where('ImageLocation', lessThan: SomeValue)
正确。但是我的案例在我需要考虑的数据库中有两个值。我该怎么办?
我真的很感激任何帮助!
答案 0 :(得分:0)
假设currentLocation
使用CLLocationManager
确定用户的当前位置,请尝试以下操作:
PFQuery *query = [PFQuery queryWithClassName: @"<the_class_name>"];
PFGeoPoint *point = [PFGeoPoint geoPointWithLatitude: currentLocation.coordinate.latitude longitude: currentLocation.coordinate.longitude];
[query whereKey: @"ImageLocation" nearGeoPoint: point withinKilometers: VisibleRadius];