在我的应用中,用户就在某个位置,正在寻找她的朋友,这些朋友曾经在距离她10英里的地方。如何使用FQL或图形找到它?我能看到的唯一方法是运行如下搜索:https://graph.facebook.com/search?type=checkin然后运行结果以找出10英里内的位置。有更好的方法吗?
感谢您的帮助!
施舍
答案 0 :(得分:2)
来自http://developers.facebook.com/docs/reference/fql/location_post/
它说
返回具有与之关联的位置的帖子的FQL表 他们满足以下至少一个条件:
- 您在帖子中被标记了
- 朋友在帖子中被标记了
- 您撰写了帖子
- 一位朋友撰写了帖子
注意:此查询可以处理大量数据。为了 确保在a中返回可管理的数据量 合理的时间范围,你应该指定一个最近的时间戳来缩小 结果。
返回指定地点10,000米范围内的帖子:
SELECT id, page_id FROM location_post WHERE distance(latitude, longitude, '37.86564', '-122.25061') < 10000
答案 1 :(得分:2)
虽然最初的答案确实对我有用,但是很快就变得不够了。现在,在我的头靠在墙上后,它终于破了(不是我的头 - 墙)。以下是两种更好的方法,可以找到我需要的东西:
这是为了找到只是签到:
SELECT checkin_id,coords,tagged_uids,page_id FROM checkin WHERE (author_uid IN(SELECT uid2 FROM friend WHERE uid1 = me())或 author_uid = me())和coords.latitude&lt; '45 .0'和coords.latitude&gt; '29' 和coords.longitude&gt;' - 175'和coords.longitude&lt;' - 5';
这是查找所有位置信息:
SELECT id,page_id FROM location_post WHERE(author_uid IN(SELECT uid2 FROM friend WHERE uid1 = me())或author_uid = me())和 coords.latitude&lt; '45 .0'和coords.latitude&gt; '29'和 coords.longitude&gt;' - 175'和coords.longitude&lt;' - 5'