当我遇到一些我没想到的东西时,我正在测试组件过滤器:使用过滤器会改善某些查询的结果。我测试的地址是“Avenida de Almirante Reis,61 C / V.D,Lisboa”。
Without the filter结果只会指向某个地区,而如果我add a country filter则会指向一个确切的地址。
这让我怀疑我对过滤器的了解。过滤器应该做的唯一修改是减少答案集,而不是更改,这就是在这种情况下发生的事情。
我想知道这一点,因为我正在使用谷歌的地理编码服务,并且需要解释(在某种程度上)为什么我得到了我得到的结果,这意味着理解这种行为。
提前致谢。
答案 0 :(得分:0)
不,是的。
组件过滤器旨在限制结果,而不是更改结果。 您的示例现在只返回国家/地区,但这些工作:
http://maps.googleapis.com/maps/api/geocode/json?address=Avenida%20de%20Almirante%20Reis,%2061%20Lisboa http://maps.googleapis.com/maps/api/geocode/json?address=Avenida%20de%20Almirante%20Reis,%2061%20Lisboa&components=country%3aPT
但是,请参阅Component Filtering documentation:
中的此注释 注意:每个地址组件只能在地址参数或组件过滤器中指定,但不能同时指定。这样做可能会导致ZERO_RESULTS
。
似乎可以重复国家,所以第二个链接有效,但根据本说明,最好使用它:
但如果您对街道名称执行相同操作,则会导致ZERO_RESULTS
: