Фильтрация Google Geocode API

Я пытаюсь использовать API геокодирования Google, но, похоже, способ фильтрации по нескольким состояниям. Я могу фильтровать по одному штату (например, https://maps.googleapis.com/maps/api/geocode/json?address=Elm+St&components=administrative_area:WA|country:US&key=API_KEY)

Кто-нибудь знает, как фильтровать по нескольким состояниям?


person JeremyT    schedule 12.05.2015    source источник
comment
Каких результатов вы пытаетесь достичь? Вам нужен список всех штатов, в которых есть Elm St?   -  person SunSparc    schedule 20.05.2015
comment
После этого поста я немного покопался, и из того, что я могу сказать, не похоже, что то, чего я хочу достичь, возможно. Короче говоря, перечислите только улицы Вязов в WA, ID и OR (или другие методы для достижения тех же результатов). компоненты = административная_область: WA, ID, ИЛИ   -  person JeremyT    schedule 21.05.2015


Ответы (1)


Я не знаю, как добиться этого с помощью 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 автозаполнения используется для предложения адресов, когда пользователи вводят адрес в поле адреса в веб-форме. Но вы можете получить к нему прямой доступ для достижения заявленной цели.

Результатом этого запроса будет строка 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)

person SunSparc    schedule 22.05.2015