我怎样才能进去界的Facebook的地方名单(How can I get list of Faceb

2019-09-21 20:38发布

我需要接受指定范围内的Facebook地方的列表(由NE定义和WS坐标)

我从JavaScript调用应用以下fql.query:

 FB.api({
    method: "fql.query",

    query: "SELECT name,description,geometry,latitude,longitude,checkin_count,display_subtext FROM place WHERE latitude < '" + bounds.getNorthEast().lat() + "' and longitude < '" + bounds.getNorthEast().lng() + "' and latitude > '" +  bounds.getSouthWest().lat() + "' and longitude > '" +  bounds.getSouthWest().lng() +"'"
  },
  function(response) {
     /// 
 }

但我收到错误604

Your statement is not indexable. The WHERE clause must contain an indexable column. Such columns are marked with * in the tables linked from http://developers.facebook.com/docs/reference/fql 

至于我能看到的唯一索引列place台http://developers.facebook.com/docs/reference/fql/place/是page_id 。 但我认为没有手段来获得这种page_id从其他表。

是否有任何(可能更简单)的方式来指定的界限之内收到Facebook的地方呢?

Answer 1:

你是正确的,该FQL表不能使用,因为这些列不被索引。
但你可以尝试图形API调用特定位置中搜索地点。
EG - https://graph.facebook.com/search?type=place&center=37.76,-122.427&distance=1000&access_token= ...
这来自于图形API文档在这里- https://developers.facebook.com/docs/reference/api/



Answer 2:

我FQL做到了,我被这个答案的启发:

Facebook的地方:为了结果的距离

我不搜索范围之内,但中心点的距离,但使用fql.query语言中:

    FB.api({
      method: "fql.query",
      query: "SELECT page_id, name, description, latitude, longitude, checkin_count, distance(latitude, longitude, '"  + centerlat + "', '" + centerlon + "') FROM place WHERE distance(latitude, longitude, '" + centerlat + "', '" + centerlon + "') < '" + distance +"'" 
      },
      function(response) {

      });

而它正是我需要的 - 给我的,我可以使用位置列表。



文章来源: How can I get list of Facebook places inside bounds