订购Facebook按距离排列结果

Sam*_*Sam 14 location facebook facebook-fql

有谁知道如何通过距离搜索位置订购Facebook地点?请注意,我不想在我的客户端应用中订购结果.我希望Facebook服务器能够为我提供有序的结果以便于分页.我总是希望将后续查询中的位置追加到数组的末尾.

使用图形API查询似乎无法做到这一点,例如:

https://graph.facebook.com/search?q=coffee&type=place¢er=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
Run Code Online (Sandbox Code Playgroud)

这个问题是这些字段namedescription不在地方台可转位.这意味着并非所有结果都由FQL返回,有许多缺失的结果.

Tom*_*ton 12

似乎可以使用这个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
Run Code Online (Sandbox Code Playgroud)