在我的应用程序中,用户在一个位置,正在寻找她的朋友,这些朋友去过她所在位置 10 英里内的任何地方。如何使用 FQL 或图形找到它?我能看到的唯一方法是运行这样的搜索:https://graph.facebook.com/search?type=checkin 然后浏览结果以找出 10 英里内的位置。有没有更好的方法?
感谢您的帮助!
多尔斯
来自 http://developers.facebook.com/docs/reference/fql/location_post/
它说
返回具有关联位置的帖子的 FQL 表: 它们至少满足以下条件之一:
- 您在帖子中被标记
- 一位朋友在《邮报》中被标记
- 您撰写了帖子
- 一位朋友撰写了《华盛顿邮报》
注意:此查询可以处理大量数据。为了 确保在 合理的时间范围,您应该指定最近的时间戳以缩小 结果。
返回给定位置 10,000 米内的帖子:
SELECT id, page_id FROM location_post WHERE distance(latitude, longitude, '37.86564', '-122.25061') < 10000
尽管最初的答案确实对我有用,但很快就变得不够用了。现在,在我的头撞墙之后,它终于坏了(不是我的头 - 墙)。这里有另外两种更好的方法来找到我需要的东西:
这是为了找到签到:
从检入位置选择checkin_id、坐标、tagged_uids page_id (author_uid IN (从朋友中选择 UID2,其中 UID1 = ME()) 或 author_uid=me()) 和 coords.latitude<'45.0' 和 coords.latitude>'29' 和坐标经度>'-175' 和坐标经度<'-5';
这是为了找到所有位置帖子:
选择"ID",page_id"从location_post位置"(author_uid 在(选择"中" 来自朋友的 UID2,其中 uid1 = me()) 或 author_uid=me()) 和 coords.latitude<'45.0' 和 coords.latitude>'29' 和 坐标经度>'-175' 和坐标经度<'-5'