Facebook API的位置距离

时间:2014-04-26 19:35:33

标签: facebook facebook-graph-api facebook-fql

这些天我有幸与facebook api玩了一下,但有些事我无法理解。我正在使用这个FQuery(Query1)搜索所有接近某一点的页面:

SELECT page_id,name FROM place WHERE distance(latitude, longitude, "45.698944", "8.462454") < 50000

此查询返回页面列表,但不是全部。例如,此查询(Query2):

SELECT page_id,name,distance(latitude, longitude, "45.698944", "8.462454") 
FROM place
 WHERE distance(latitude, longitude, "45.698944", "8.462454") < 50000 and page_id=656799421018484

返回:

{
  "data": [
{
  "page_id": "656799421018484", 
  "name": "Formatamente", 
  "distance_meters": 16006.10107316
}
  ]
}

我的问题是Query1没有返回&#34; Formatamente&#34; (查询2的结果)虽然距离(16006.10107316)小于50000.

我也试过脸谱图: https://graph.facebook.com/search?distance=50000&center=45.698944,8.462454&type=place&fields=id,name&access_token=TOKEN

但它仍未返回&#34; Formatamente&#34;。

是否有一些技巧可以找到我周围的所有地方?我将使用此page_id搜索此页面创建的所有事件,或者是否有更简单的方法来查找最接近gps点的事件?

提前致谢

1 个答案:

答案 0 :(得分:0)

看看我的答案

你没有得到你提到的特定页面,因为你正在使用可能的最大半径(50000m),这可能产生数万个结果(FB没有完全返回)。您可以在查询中使用LIMIT start, number,但FB仍然不会一次返回高五位数的结果。