我正在尝试使用Google Geocoding API,似乎没有办法按多个状态进行筛选。我可以过滤一个状态(例如https://maps.googleapis.com/maps/api/geocode/json?address=Elm+St&components=administrative_area:WA|country:US&key=API_KEY)Google Geocode API筛选
有谁知道如何过滤多个状态?
我正在尝试使用Google Geocoding API,似乎没有办法按多个状态进行筛选。我可以过滤一个状态(例如https://maps.googleapis.com/maps/api/geocode/json?address=Elm+St&components=administrative_area:WA|country:US&key=API_KEY)Google Geocode API筛选
有谁知道如何过滤多个状态?
我不知道如何用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工作)
你试图达到什么结果?你想要列出所有有Elm St的州吗? – SunSparc
自从这篇文章以来,我已经做了更多的挖掘工作,从我可以告诉它看起来不像我想要实现的是可能的。所以简而言之,只需列出WA,ID和OR中的Elm Streets(或其他方法来实现相同的结果)。 components = administrative_area:WA,ID,OR – JeremyT