Произошло изменение в фильтрации компонентов API геокодирования еще в январе 2018 года. После этого изменения только фильтры почтового индекса и страны работают как строгий фильтр, маршрут, местность и область администрирования не являются строгими фильтрами и влияют только на результаты.
Google отправил уведомление об этом изменении клиентам Премиум-плана. Я делюсь копией этого письма здесь
Клиент Премиум-плана API Карт Google,
Предстоящие улучшения качества в службах геокодирования Карт Google потребуют, чтобы функция фильтрации компонентов API геокодирования стала менее строгой. Это вступит в силу 16 января 2018 года.
В то же время мы предоставляем тестовый параметр в веб-службе API геокодирования, чтобы вы могли увидеть, повлияет ли это изменение на ваши запросы геокодирования, используя функцию фильтрации компонентов. Чтобы использовать параметр, добавьте relax_components = true к вашим запросам.
Этот тестовый параметр будет доступен до 16 января 2018 года. После этой даты параметр будет игнорироваться, но запросы, использующие этот параметр, будут по-прежнему приниматься. Нет эквивалента JavaScript.
Улучшения качества обеспечат более качественные результаты для запросов, которые стремятся найти действительные адреса. Однако следующие операторы больше не будут применяться к функции фильтрации компонентов:
Запрос, содержащий фильтр компонента, возвращает только те результаты геокодирования, которые соответствуют фильтру. Если совпадений не найдено, геокодер возвращает результат, соответствующий самому фильтру.
Компонентная фильтрация вернет ответ ZERO_RESULTS, только если вы предоставите фильтры, исключающие друг друга.
Фильтры для почтовых индексов и кодов стран будут по-прежнему применяться строго для всех запросов.
Примеры
Адрес, который не содержится строго в фильтре локальности (Spring Valley, NV), но находится рядом (в Paradise, NV), будет найден вместо менее конкретного результата, точно соответствующего фильтру локальности:
Пример запроса № 1: адрес = 4755 + W + Фламинго + Rd & components = location: Spring + Valley | страна: США
Текущий результат: "W Flamingo Rd, Spring Valley, NV, USA" (маршрут, частичное совпадение)
Будущий результат: "4755 Вт Flamingo Rd, Лас-Вегас, Невада 89103, США" (предпосылка)
Вместо ZERO_RESULTS может быть возвращен результат в другой местности, если в противном случае фильтр местности сформировал бы несуществующий адрес:
Пример запроса № 2: компоненты = местность: Монреаль + озеро + заповедник | административный район: Саскачеван | страна: CA
Текущий результат: ZERO_RESULTS
Будущий результат: "Озеро Монреаль, SK S0J 1Y0, Канада" (учреждение)
Пример запроса № 3: компоненты = страна: США | местонахождение: друзья + заводь + охрана + область + cisco | административная зона: IL
Текущий результат: ZERO_RESULTS
Будущий результат: «Заповедник Friends Creek, 13734 Friends Creek Park Rd, Cisco, IL 61830, США» (парк)
Взаимоисключающие фильтры больше не гарантируют ZERO_RESULTS. Это уже имело место с тех пор, как 3 апреля 2017 года старый форвардный геокодер был окончательно удален. Предстоящие изменения сделают это чаще, например. когда фильтр administrator_area предпочтительнее фильтра локальности:
Пример запроса № 4: адрес = Müslistrasse + 16 & компоненты = местность: Шпрайтенбах | административный район: ZH | страна: CH
Текущий результат: ZERO_RESULTS
Будущий результат: "Muslistrasse 16, 8820 Wädenswil, Switzerland" (street_address)
Неверный адрес, который никогда не был найден, больше не будет давать результат, соответствующий самому фильтру. Это может привести либо к ZERO_RESULTS, либо к одному или нескольким действительным адресам, которые соответствуют некоторым фильтрам.
Пример запроса № 5: адрес = 13 + Rue + del + Percebe & components = location: Sydney | страна: AU
Текущий результат: "Sydney NSW 2000, Australia" (населенный пункт)
Будущий результат: ZERO_RESULTS
Пример запроса № 6: адрес = Сезам + St & компоненты = населенный пункт: Сидней | страна: AU
Текущий результат: "Sydney NSW 2000, Australia" (населенный пункт)
Будущий результат: «Улица Сезам, VIC, Маунт-Уэверли, 3149, Австралия» (маршрут) и еще 2
В редких случаях действительный адрес больше не может быть найден для данного значения фильтров.
Пример запроса № 7: адрес = Фуэртевентура и компоненты = местность: Альмерия | административная зона: AL | страна: ES
Текущий результат: "Калле Исла де Фуэртевентура, 04007 Альмерия, Испания" (маршрут)
Будущий результат: ZERO_RESULTS
С уважением,
Команда API Карт Google