0

尝试使用提供的 Ruby 包装器实现 Factual API。希望返回地理点一定米数内的所有酒吧。我的查询如下所示:

factual.table("places").search("category_id"=>"312").geo("$circle" => {"$center" => [40.7811, -73.98], "$meters" => 10000}).rows

这将返回 200:OK 响应,但有 0 条记录(即使该位置在曼哈顿)。我很确定我传递类别信息的方式存在问题。

根据 API 文档,我也尝试过像这样传递类别数据,这会返回语法错误:

factual.table("places").filters("category_ids" => {"category_ids":["6"]}).geo("$circle" => {"$center" => [40.7811, -73.98], "$meters" => 10000}).rows

还有这个,它返回 Factual 错误 *references unknown field category_ids*:

factual.table("places").filters("category_ids" => {"$in" => ["312", "338"]}).geo("$circle" => {"$center" => [40.7811, -73.98], "$meters" => 10000}).rows

我在此处关注文档示例并使用 v3:https ://github.com/Factual/factual-ruby-driver/wiki/Read-API和此处:http: //developer.factual.com/display/docs/地点+API++-+全局+地点+属性

编辑:

我也尝试将filters方法更改为search

  factual.table("places").search("category_ids" => {"$in" => ["312", "338"]}).geo("$circle" => {"$center" => [40.7811, -73.98], "$meters" => 10000}).rows

这将返回地址中包含 338 的记录,而与类别无关。很奇怪。几个小时以来,我一直在尝试不同的事情。我很确定这是我如何传递类别信息的问题。我正在尽可能密切地关注文档,但我无法让它发挥作用。

4

1 回答 1

0

试试这个

factual.table("places").filters("category" => "Bars")
  .geo("$circle" => {"$center" =>[40.7811, -73.98] , "$meters" => 1000}).rows
于 2012-11-24T18:01:00.823 回答