Google Geocode API过滤

问题描述 投票:1回答:1

我正在尝试使用Google Geocoding API,似乎没有一种方法可以按多个状态进行过滤。我可以按一种状态进行过滤(例如https://maps.googleapis.com/maps/api/geocode/json?address=Elm+St&components=administrative_area:WA|country:US&key=API_KEY

有人知道如何按多个状态进行过滤吗?

google-geocoding-api
1个回答
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应该是您要查找的地址的一部分。当用户在Web表单的地址字段中输入地址时,自动完成API用于建议地址。但是您可以直接访问它以实现您指定的目的。

此请求的结果将是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工作)

© www.soinside.com 2019 - 2024. All rights reserved.