尝试使用提供的 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 的记录,而与类别无关。很奇怪。几个小时以来,我一直在尝试不同的事情。我很确定这是我如何传递类别信息的问题。我正在尽可能密切地关注文档,但我无法让它发挥作用。