2015-05-12 114 views
1

我正在嘗試使用Google Geocoding API,似乎沒有辦法按多個狀態進行篩選。我可以過濾一個狀態(例如https://maps.googleapis.com/maps/api/geocode/json?address=Elm+St&components=administrative_area:WA|country:US&key=API_KEYGoogle Geocode API篩選

有誰知道如何過濾多個狀態?

+0

你試圖達到什麼結果?你想要列出所有有Elm St的州嗎? – SunSparc

+0

自從這篇文章以來,我已經做了更多的挖掘工作,從我可以告訴它看起來不像我想要實現的是可能的。所以簡而言之,只需列出WA,ID和OR中的Elm Streets(或其他方法來實現相同的結果)。 components = administrative_area:WA,ID,OR – JeremyT

回答

0

我不知道如何用Google API實現這一點,但我知道如何使用SmartyStreets Autocomplete API來實現。

一個簡單的GET請求與state_filter選項將做你想做的。這裏有一個例子:

curl "https://autocomplete-api.smartystreets.com/suggest?prefix=Elm+St&state_filter=wa,id,or&auth-id=<your-auth-id>" 

爆發,我們看到這些參數:

hostname: autocomplete-api.smartystreets.com 
prefix: Elm St 
state_filter: WA,ID,OR 
auth-id: <a-valid-smartystreets-auth-id> 

prefix應該是你正在尋找一個地址的一部分。自動填充API用於在用戶在Web表單的地址字段中輸入地址時建議地址。但是你可以直接訪問它來達到你陳述的目的。

該請求的結果將是一個JSON字符串:

{ 
    "suggestions": [ 
     { 
      "text": "Elm St, Bellevue ID", 
      "street_line": "Elm St", 
      "city": "Bellevue", 
      "state": "ID" 
     }, 
     { 
      "text": "W Elm St, Almira WA", 
      "street_line": "W Elm St", 
      "city": "Almira", 
      "state": "WA" 
     }, 
     { 
      "text": "Elm St SW, Albany OR", 
      "street_line": "Elm St SW", 
      "city": "Albany", 
      "state": "OR" 
     }, 
     // 7 other results were truncated 
    ] 
} 

注意:要使用任何SmartyStreets的API,你需要一個有效的auth-id,你可以得到很容易,當你註冊一個免費賬戶。

(免責聲明:我爲SmartyStreets工作)

相關問題