facebook - 按距离排序 Facebook Places 结果

标签 facebook location facebook-fql

有谁知道如何按距搜索位置的距离对 Facebook 位置进行排序?请注意,我不想在我的客户端应用程序中订购结果。我希望 Facebook 服务器为我提供有序的结果以方便分页。我总是想将后续查询中的位置附加到数组的末尾。

这似乎不可能使用图形 API 查询,例如:

https://graph.facebook.com/search?q=coffee&type=place&center=37.76,-122.427&distance=1000& ....因为没有办法告诉 Facebook 订购结果。最近的地方可能在返回结果列表的最后。

我一直在尝试使用 FQL 复制上述查询,但有一个问题,因为 Facebook 地点表中的名称和描述字段不可索引。 FQL 例如:

SELECT 
  page_id, name, display_subtext, description, 
  distance(latitude, longitude, "37.76", "-122.427"), checkin_count 
FROM place 
WHERE ((distance(latitude, longitude, "37.76", "-122.427") < 25000) 
  AND (strpos(lower(name), "coffee") >= 0 
  OR strpos(lower(description), "coffee") >= 0))
ORDER BY distance(latitude, longitude, "37.76", "-122.427") ASC 
LIMIT 20 OFFSET 0

问题在于字段 namedescription 在 place 表中不可索引。这意味着并非所有结果都由 FQL 返回,有很多结果缺失。

最佳答案

似乎可以使用此 FQL。 contains 函数似乎与 q= Graph API 参数一样工作。这是您使用 contains

的示例
SELECT page_id, name, description, latitude, longitude, checkin_count, distance(latitude, longitude, "37.76", "-122.427")
FROM place
WHERE distance(latitude, longitude, "37.76", "-122.427") < 1000
AND CONTAINS("coffee")
ORDER BY distance(latitude, longitude, "37.76", "-122.427")
LIMIT 20

关于facebook - 按距离排序 Facebook Places 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8166500/

相关文章:

ruby - Facebook FQL 返回 <fql_query_response list ="true"/>

Python Google App Engine - 获取位置

java - 如何将数组的值而不是该数组的位置添加到 ArrayList 中?

facebook - FQL 事件 pic_cover 返回 null

javascript - Graph API Javascript 示例中的新 FQL 多查询?

Facebook fql 之类的表已删除?

ios - Facebook Graph 请求无法在 iOS 9.2 中检索电子邮件 - xCode 7

android - 在 Android 中使用自定义登录按钮时如何设置 Facebook 登录权限

android - 如何检查用户已经登录 android (Facebook SDK 4.0)

c# - xamarin 中构建的 Android 后台位置正在永远占用