2013-07-25 61 views
3

當我遇到我不期待的東西時,我正在測試組件過濾器:使用過濾器將改進某些查詢的結果。我測試的地址是「Avenida de Almirante Reis,61 C/V.D,Lisboa」。Understading谷歌地理編碼服務組件過濾器

Without the filter結果將只指向一個地點,而如果我add a country filter它將指向一個確切的地址。

這使我懷疑我在過濾器上的知識。唯一的修改過濾器應該做的是減少組答案,不變化它,這就是在這種情況下會發生什麼。

我想知道這是因爲我使用的是谷歌的地理編碼服務,將需要解釋(在一定程度上)爲什麼我得到的結果我得到的,這意味着要理解這種行爲。

在此先感謝。

+0

請問這可能是甲肝是與區域偏置? – jjwdesign

回答

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

這似乎是確定重複的國家,所以第二連桿的作品,雖然按照該注意它會是更好的使用:

http://maps.googleapis.com/maps/api/geocode/json?address=Avenida%20de%20Almirante%20Reis,%2061&components=country%3aPT

但如果你做同樣的用街道名稱,但它導致ZERO_RESULTS

http://maps.googleapis.com/maps/api/geocode/json?address=Avenida%20de%20Almirante%20Reis,%2061%20Lisboa&components=country%3aPT%7Aroute%3AAvenida%20de%20Almirante%20Reis