Используя информацию нашли на https://developers.google.com/maps/documentation/geocoding/intro#ComponentFiltering
Вы можете фильтровать по городу (н.п.) и страны в двух отдельных компонентов фильтра, и они могут быть отделены друг от друга трубы (|) символов. Страна является кодом страны ISO 3166-1 [https://en.wikipedia.org/wiki/ISO_3166-1], поэтому GB
, чтобы покрыть город Лондон.
Таким образом, этот формат может быть использован:
https://maps.googleapis.com/maps/api/geocode/json?address=<address>&components=locality:London|country:UK
Имея это в виду, и обращаясь ваш точный вопрос, в соответствии с https://developers.google.com/maps/documentation/geocoding/intro#ComponentFiltering
значения фильтра поддерживают одни и те же методы коррекции орфографии и частичное совпадение, как и другие запросы геокодирования. Если результат геокодирования составляет , то для частичного соответствия для фильтра компонента он будет содержать поле partial_match в ответе.
Похоже, что он всегда будет пытаться найти частичное совпадение, если нет точных совпадений, и к сожалению, это невозможно отключить.
Однако, если вы сделаете чек на "partial_match" : true
в результирующем наборе, вы можете отфильтровать такие результаты в своем коде, который имеет отношение к ответу.
В сводке
Этот формат, кажется, дает результаты без "partial_match" : true
если адрес является «хорошим»
https://maps.googleapis.com/maps/api/geocode/json?address=<address>&components=locality:London|country:UK
И это позволит вам фильтровать ответ на "partial_match" : true
в коде, чтобы исключить ложные результаты. Например, используя адрес «Манчестер»:
https://maps.googleapis.com/maps/api/geocode/json?address=Manchester&components=locality:London|country:UK